misc improvements to modularity

This commit is contained in:
greyweather committed 2026-09-02 15:50:37 +01:00
1 parent 9c13923c2e
commit 6d8673ea1e
29 files changed
+111 -108

No files matched your search

@@ -4,10 +4,12 @@
"authenticated": false, "authenticated": false,
"settingsSync": false, "settingsSync": false,
"url": "https://cloud.equicord.org/", "url": "https://cloud.equicord.org/",
"settingsSyncVersion": 1788234114000 "settingsSyncVersion": 1788360340476
}, },
"enableOnlineThemes": true, "enableOnlineThemes": true,
"enabledThemeLinks": [], "enabledThemeLinks": [
"https://refact0r.github.io/midnight-discord/build/midnight.css"
],
"plugins": { "plugins": {
"AltKrispSwitch": { "AltKrispSwitch": {
"enabled": false "enabled": false
@@ -1218,13 +1220,13 @@
}, },
"useQuickCss": true, "useQuickCss": true,
"autoUpdateNotification": true, "autoUpdateNotification": true,
"themeLinks": [], "themeLinks": [
"eagerPatches": false, "https://refact0r.github.io/midnight-discord/build/midnight.css"
"enabledThemes": [
"noctalia.theme.css"
], ],
"eagerPatches": false,
"enabledThemes": [],
"pinnedThemes": [ "pinnedThemes": [
"noctalia.theme.css" "https://refact0r.github.io/midnight-discord/build/midnight.css"
], ],
"themeNames": {}, "themeNames": {},
"themeActivationModes": {}, "themeActivationModes": {},
+17 -33
View File
@@ -1,42 +1,26 @@
body { body {
/* font, change to '' for default discord font */
--font: 'figtree';
--code-font: '';
/* sizes */ /* sizes */
--gap: 10px; /* spacing between panels */ --gap: 10px; /* spacing between panels */
--divider-thickness: 4px; /* thickness of unread messages divider and highlighted message borders */ --divider-thickness: 4px; /* thickness of unread messages divider and highlighted message borders */
--border-thickness: 0px; /* thickness of borders around main panels. DOES NOT AFFECT OTHER BORDERS */ --border-thickness: 1px; /* thickness of borders around main panels. DOES NOT AFFECT OTHER BORDERS */
--custom-guild-list-width: calc(var(--guildbar-avatar-size) + var(--custom-guild-list-padding) * 2 + var(--border-thickness) * 2);
/* animation/transition options */ --border-hover-transition: 0.2s ease;
--animations: on; /* off: disable animations/transitions, on: enable animations/transitions */ --elevation-low: none;
--list-item-transition: 0.2s ease; /* transition for list items */ --elevation-medium: none;
--dms-icon-svg-transition: 0.35s ease; /* transition for the dms icon */ --elevation-high: none;
--border-hover-transition: 1s ease; /* transition for borders when hovered */
} }
/* color options */
:root { :root {
--colors: on; /* off: discord default colors, on: midnight custom colors */
/* text colors */ /* text colors */
--text-0: hsl(220, 16%, 95%); /* text on colored elements */ --text-0: var(--bg-4); /* text on colored elements */
--text-2: hsl(217.5, 20%, 90%); /* headings and important text */ --text-1: hsl(220, 45%, 95%); /* other normally white text */
--text-3: hsl(219, 30%, 90%); /* normal text */ --text-2: hsl(220, 25%, 85%); /* headings and important text */
--text-4: hsl(220.5, 14%, 85%); /* icon buttons and channels */ --text-3: hsl(220, 20%, 70%); /* normal text */
--text-5: hsl(221, 13.5%, 80%); /* muted channels/chats and timestamps */ --text-4: hsl(220, 15%, 60%); /* icon buttons and channels */
--text-5: hsl(220, 15%, 55%); /* muted channels/chats and timestamps */
/* background and dark colors */ }
--bg-1: #303643; /* dark buttons when clicked */
--bg-2: #343b49; /* dark buttons */
--bg-3: #3b4252; /* spacing, secondary elements */
--bg-4: #2e3440; /* main background color */
--hover: #eceff415; /* channels and buttons when hovered */
--active: hsl(222, 18%, 35%); /* channels and buttons when clicked or selected */
--active-2: #2e3440; /* extra state for transparent buttons */
--message-hover: #3b425240; /* messages when hovered */
/* accent colors */
--accent-1: #8fbcbb; /* links and other accent text */
--accent-2: hsl(179, 30%, 45%); /* small accent elements */
--accent-3: hsl(193, 25%, 45%); /* accent buttons */
--accent-4: hsl(193, 25%, 55%); /* accent buttons when hovered */
--accent-5: hsl(193, 25%, 60%); /* accent buttons when clicked */
--accent-new: #bf616a; /* stuff that's normally red like mute/deafen buttons */
};
+2 -2
View File
@@ -9,8 +9,8 @@
"hardwareAcceleration": true, "hardwareAcceleration": true,
"minimizeToTray": true, "minimizeToTray": true,
"tray": true, "tray": true,
"splashColor": "rgb(222, 227, 237)", "splashColor": "rgb(163, 173, 194)",
"splashBackground": "rgb(46, 52, 64)", "splashBackground": "rgb(22, 24, 29)",
"hardwareVideoAcceleration": true, "hardwareVideoAcceleration": true,
"clickTrayToShowHide": true, "clickTrayToShowHide": true,
"arRPCDisabled": false, "arRPCDisabled": false,
+6 -1
View File
@@ -134,7 +134,6 @@ window-rule {
clip-to-geometry true clip-to-geometry true
} }
window-rule { // Maximized on vertical monitor window-rule { // Maximized on vertical monitor
match at-startup=true app-id="^steam$" title="^Steam$"
match at-startup=true app-id="^equibop$" match at-startup=true app-id="^equibop$"
open-maximized-to-edges true open-maximized-to-edges true
open-on-output "HDMI-A-1" open-on-output "HDMI-A-1"
@@ -149,6 +148,12 @@ window-rule { // Steam windows float (excluding main window)
window-rule { window-rule {
match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"# match app-id="steam" title=r#"^notificationtoasts_\d+_desktop$"#
default-floating-position x=10 y=10 relative-to="bottom-right" default-floating-position x=10 y=10 relative-to="bottom-right"
open-focused false
}
window-rule { // Maximized on main monitor
match at-startup=true app-id="^steam$" title="^Steam$"
open-maximized-to-edges true
open-on-output "HDMI-A-1"
} }
window-rule { // Fullscreen on main monitor window-rule { // Fullscreen on main monitor
match app-id="^steam_app_\\d+$" match app-id="^steam_app_\\d+$"
Generated
+4 -4
View File
@@ -187,11 +187,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1788303756, "lastModified": 1788319420,
"narHash": "sha256-KwDkCX7JBWVjDCoP1CqF3HCMpM8Uy1anD0pKzAZ2Aaw=", "narHash": "sha256-y4hOpWzUp8ZWzoIsQINIxFifoWOV1tQPVqHVtX24luc=",
"ref": "refs/heads/main", "ref": "refs/heads/main",
"rev": "fef3a464ef4db019bd654446b15eca1f9b31fd44", "rev": "1cfc810e699659bab9a9c8f071a5770fc3d8b886",
"revCount": 48, "revCount": 52,
"type": "git", "type": "git",
"url": "https://git.greyweather.dev/greyweather/nix-helper-flake" "url": "https://git.greyweather.dev/greyweather/nix-helper-flake"
}, },
+1 -1
View File
@@ -7,7 +7,7 @@
programs.noctalia.enable = true; programs.noctalia.enable = true;
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
components.shells = [ "noctalia" ]; components.shells = [ "noctalia" ];
}; };
}; };
+1 -1
View File
@@ -35,7 +35,7 @@
})); }));
}; };
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
components.windowManagers = [ "niri" ]; components.windowManagers = [ "niri" ];
}; };
}; };
@@ -1,4 +1,10 @@
{ inputs, self, ... }: let { inputs, self, lib, ... }: let
featureOptionName = "features.applications.cli.color-converter.enable";
moduleArgs = config: {
inherit config;
optionName = featureOptionName;
};
color-converter-package = { lib, pkgs }: pkgs.python3Packages.buildPythonApplication rec { color-converter-package = { lib, pkgs }: pkgs.python3Packages.buildPythonApplication rec {
pname = "color-converter"; pname = "color-converter";
version = "1.0.0"; version = "1.0.0";
@@ -29,21 +35,17 @@
}; };
}; };
in { in {
imports = [ (inputs.helpers.mkMirroredModulesFlakeModule "globalOptions" ({ lib, ... }: { imports = [ (inputs.helpers.mkStandardFeature.flakeModule "global" featureOptionName (lib.mkEnableOption "`color-converter`")) ];
options.features.applications.cli.color-converter.enable = lib.mkEnableOption "`color-converter`";
})) ];
flake.nixosModules.global = { pkgs, lib, config, ... }: { flake.nixosModules.global = { pkgs, lib, config, ... }: {
config = lib.mkIf (config.features.applications.cli.color-converter.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { imports = [ (inputs.helpers.mkStandardFeature.nixosModule (moduleArgs config) {
home-manager.users.grey.features.applications.cli.color-converter.enable = lib.mkDefault true;
} {
environment.systemPackages = [ (pkgs.callPackage color-converter-package {}) ]; environment.systemPackages = [ (pkgs.callPackage color-converter-package {}) ];
}); }) ];
}; };
flake.homeModules.global = { pkgs, config, lib, ... }: { flake.homeModules.global = { pkgs, config, lib, ... }: {
config = lib.mkIf (config.features.applications.cli.color-converter.enable) { imports = [ (inputs.helpers.mkStandardFeature.homeModule (moduleArgs config) {
home.packages = [ (pkgs.callPackage color-converter-package {}) ]; home.packages = [ (pkgs.callPackage color-converter-package {}) ];
}; }) ];
}; };
} }
@@ -5,7 +5,7 @@
flake.nixosModules.global = { pkgs, lib, config, ... }: { flake.nixosModules.global = { pkgs, lib, config, ... }: {
config = lib.mkIf (config.features.applications.cli.fastfetch.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { config = lib.mkIf (config.features.applications.cli.fastfetch.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.cli.fastfetch.enable = lib.mkDefault true; home-manager.users.${config.info.userName}.features.applications.cli.fastfetch.enable = lib.mkDefault true;
} { } {
environment.systemPackages = [ pkgs.fastfetch ]; environment.systemPackages = [ pkgs.fastfetch ];
}); });
+1 -1
View File
@@ -29,7 +29,7 @@ in {
config = lib.mkIf (config.features.applications.cli.nh.enable) { config = lib.mkIf (config.features.applications.cli.nh.enable) {
programs.nh = mkNhAttrs config; programs.nh = mkNhAttrs config;
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
features.applications.cli.nh = lib.mkDefault config.features.applications.cli.nh; features.applications.cli.nh = lib.mkDefault config.features.applications.cli.nh;
}; };
}; };
+2 -10
View File
@@ -10,20 +10,12 @@ in {
})) ]; })) ];
flake.nixosModules.graphicsOption = { lib, ... }: { flake.nixosModules.graphicsOption = { lib, ... }: {
options.features.applications.gui.equibop.autostart = let options.features.applications.gui.equibop.autostart = inputs.helpers.mkRedundantOption "features.nixos.home-manager.enable" "true" (autostartOptionAttrs { inherit lib; });
attrs = autostartOptionAttrs { inherit lib; };
in lib.mkOption {
inherit (attrs) type default;
description = ''
${attrs.description}
${inputs.helpers.mkRedundantOptionDescription "features.nixos.home-manager.enable" "true"}
'';
};
}; };
flake.nixosModules.graphics = { pkgs, lib, config, ...}: { flake.nixosModules.graphics = { pkgs, lib, config, ...}: {
config = inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { config = inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.equibop = lib.mkDefault config.features.applications.gui.equibop; home-manager.users.${config.info.userName}.features.applications.gui.equibop = lib.mkDefault config.features.applications.gui.equibop;
} { } {
environment.systemPackages = [ pkgs.equibop ]; environment.systemPackages = [ pkgs.equibop ];
}; };
+1 -1
View File
@@ -5,7 +5,7 @@
flake.nixosModules.graphics = { pkgs, lib, config, ... }: { flake.nixosModules.graphics = { pkgs, lib, config, ... }: {
config = lib.mkIf (config.features.applications.gui.floorp.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { config = lib.mkIf (config.features.applications.gui.floorp.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.floorp.enable = lib.mkDefault true; home-manager.users.${config.info.userName}.features.applications.gui.floorp.enable = lib.mkDefault true;
} { } {
environment.systemPackages = [ pkgs.floorp-bin ]; environment.systemPackages = [ pkgs.floorp-bin ];
}); });
+2 -2
View File
@@ -73,13 +73,13 @@ in {
flake.nixosModules.graphics = { pkgs, config, lib, ... }: { flake.nixosModules.graphics = { pkgs, config, lib, ... }: {
config = lib.mkIf (config.features.applications.gui.fluxer.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { config = lib.mkIf (config.features.applications.gui.fluxer.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.fluxer.enable = lib.mkDefault true; home-manager.users.${config.info.userName}.features.applications.gui.fluxer.enable = lib.mkDefault true;
} { } {
environment.systemPackages = [ environment.systemPackages = [
(pkgs.callPackage (fluxer-package) {}) (pkgs.callPackage (fluxer-package) {})
]; ];
}) // lib.mkIf (config.features.applications.gui.fluxer-canary.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { }) // lib.mkIf (config.features.applications.gui.fluxer-canary.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.fluxer-canary.enable = lib.mkDefault true; home-manager.users.${config.info.userName}.features.applications.gui.fluxer-canary.enable = lib.mkDefault true;
} { } {
environment.systemPackages = [ environment.systemPackages = [
(pkgs.callPackage (fluxer-canary-package) {}) (pkgs.callPackage (fluxer-canary-package) {})
+1 -1
View File
@@ -6,7 +6,7 @@
flake.nixosModules.graphics = { pkgs, config, lib, ... }: { flake.nixosModules.graphics = { pkgs, config, lib, ... }: {
config = let config = let
in lib.mkIf (config.features.applications.gui.kitty.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { in lib.mkIf (config.features.applications.gui.kitty.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.kitty.enable = lib.mkDefault true; home-manager.users.${config.info.userName}.features.applications.gui.kitty.enable = lib.mkDefault true;
} { } {
environment.systemPackages = [ pkgs.kitty ]; environment.systemPackages = [ pkgs.kitty ];
}); });
@@ -19,7 +19,7 @@
terminal = "kitty"; terminal = "kitty";
}; };
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
features.applications.gui.nautilus.enable = true; features.applications.gui.nautilus.enable = true;
}; };
}; };
@@ -5,7 +5,7 @@
flake.nixosModules.graphics = { pkgs, config, lib, ... }: { flake.nixosModules.graphics = { pkgs, config, lib, ... }: {
config = lib.mkIf (config.features.applications.gui.remmina.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { config = lib.mkIf (config.features.applications.gui.remmina.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.remmina.enable = lib.mkDefault true; home-manager.users.${config.info.userName}.features.applications.gui.remmina.enable = lib.mkDefault true;
} { } {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
remmina remmina
@@ -1,4 +1,4 @@
{ inputs, self, ... }: let { inputs, self, lib, ... }: let
spicetifyEnableOptionAttrs = { lib }: { spicetifyEnableOptionAttrs = { lib }: {
type = lib.types.bool; type = lib.types.bool;
description = "Whether to enable Spicetify, a modified version of Spotify that supports plugins and themes."; description = "Whether to enable Spicetify, a modified version of Spotify that supports plugins and themes.";
@@ -6,7 +6,7 @@
}; };
spicetifyThemeOptionAttrs = { pkgs, lib }: { spicetifyThemeOptionAttrs = { pkgs, lib }: {
type = inputs.nixpkgs.lib.types.nullOr (inputs.nixpkgs.lib.types.enum (builtins.attrNames inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system}.themes)); type = lib.types.nullOr (lib.types.enum (builtins.attrNames inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system}.themes));
description = "This option is used to select a theme for Spicetify to use, from the list of available packages themes."; description = "This option is used to select a theme for Spicetify to use, from the list of available packages themes.";
default = null; default = null;
}; };
@@ -15,7 +15,7 @@ in {
options.features.applications.gui.spotify.enable = lib.mkEnableOption "Spotify"; options.features.applications.gui.spotify.enable = lib.mkEnableOption "Spotify";
})) ]; })) ];
flake.nixosModules.graphicsOptions = { lib, pkgs, ... }: { flake.nixosModules.graphicsOptions = { pkgs, lib, ... }: {
options.features.applications.gui.spotify.spicetify = { options.features.applications.gui.spotify.spicetify = {
enable = inputs.helpers.mkRedundantOption "features.nixos.home-manager.enable" "true" (spicetifyEnableOptionAttrs { inherit lib; }); enable = inputs.helpers.mkRedundantOption "features.nixos.home-manager.enable" "true" (spicetifyEnableOptionAttrs { inherit lib; });
theme = inputs.helpers.mkRedundantOption "features.nixos.home-manager.enable" "true" (spicetifyThemeOptionAttrs { inherit pkgs lib; }); theme = inputs.helpers.mkRedundantOption "features.nixos.home-manager.enable" "true" (spicetifyThemeOptionAttrs { inherit pkgs lib; });
@@ -26,7 +26,7 @@ in {
spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system}; spicePkgs = inputs.spicetify.legacyPackages.${pkgs.stdenv.hostPlatform.system};
in { in {
config = lib.mkIf (config.features.applications.gui.spotify.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { config = lib.mkIf (config.features.applications.gui.spotify.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.spotify = { home-manager.users.${config.info.userName}.features.applications.gui.spotify = {
enable = lib.mkDefault true; enable = lib.mkDefault true;
spicetify = lib.mkDefault config.features.applications.gui.spotify.spicetify; spicetify = lib.mkDefault config.features.applications.gui.spotify.spicetify;
}; };
@@ -35,7 +35,7 @@ in {
}); });
}; };
flake.homeModules.graphicsOptions = { lib, pkgs, ... }: { flake.homeModules.graphicsOptions = { pkgs, lib, ... }: {
options.features.applications.gui.spotify.spicetify = { options.features.applications.gui.spotify.spicetify = {
enable = lib.mkOption (spicetifyEnableOptionAttrs { inherit lib; }); enable = lib.mkOption (spicetifyEnableOptionAttrs { inherit lib; });
theme = lib.mkOption (spicetifyThemeOptionAttrs { inherit pkgs lib; }); theme = lib.mkOption (spicetifyThemeOptionAttrs { inherit pkgs lib; });
+1 -1
View File
@@ -5,7 +5,7 @@
flake.nixosModules.graphics = { config, pkgs, lib, ... }: { flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
config = lib.mkIf (config.features.applications.gui.vscode.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) { config = lib.mkIf (config.features.applications.gui.vscode.enable) (inputs.helpers.mkIfElse (config.features.nixos.home-manager.enable) {
home-manager.users.grey.features.applications.gui.vscode.enable = lib.mkDefault true; home-manager.users.${config.info.userName}.features.applications.gui.vscode.enable = lib.mkDefault true;
} { } {
environment.systemPackages = [ pkgs.vscode ]; environment.systemPackages = [ pkgs.vscode ];
}); });
@@ -5,7 +5,7 @@
flake.nixosModules.gaming = { pkgs, config, lib, ... }: { flake.nixosModules.gaming = { pkgs, config, lib, ... }: {
config = lib.mkIf (config.features.hardware.steam-controller.enable) { config = lib.mkIf (config.features.hardware.steam-controller.enable) {
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
features.hardware.steam-controller.enable = lib.mkDefault true; features.hardware.steam-controller.enable = lib.mkDefault true;
}; };
}; };
+1 -1
View File
@@ -20,7 +20,7 @@
inherit inputs; inherit inputs;
}; };
users.grey = self.homeModules.${config.info.hostName}; users.${config.info.userName} = self.homeModules."${config.info.userName}@${config.info.hostName}";
}; };
}; };
} }
+1 -1
View File
@@ -13,7 +13,7 @@
stylix.image = builtins.path { path = "${self}/modules/hosts/${config.info.hostName}/wallpaper.jpg"; }; stylix.image = builtins.path { path = "${self}/modules/hosts/${config.info.hostName}/wallpaper.jpg"; };
stylix.polarity = "dark"; stylix.polarity = "dark";
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
features.nixos.stylix.enable = lib.mkDefault config.features.nixos.stylix.enable; features.nixos.stylix.enable = lib.mkDefault config.features.nixos.stylix.enable;
}; };
}; };
+1 -1
View File
@@ -11,6 +11,6 @@
programs.${config.features.shells.defaultShell}.enable = true; programs.${config.features.shells.defaultShell}.enable = true;
users.defaultUserShell = pkgs.${config.features.shells.defaultShell}; users.defaultUserShell = pkgs.${config.features.shells.defaultShell};
users.users."grey".shell = pkgs.${config.features.shells.defaultShell}; users.users."${config.info.userName}".shell = pkgs.${config.features.shells.defaultShell};
}; };
} }
+1 -1
View File
@@ -10,7 +10,7 @@
config = lib.mkIf (config.features.shells.zsh.enable || config.features.shells.defaultShell == "zsh") { config = lib.mkIf (config.features.shells.zsh.enable || config.features.shells.defaultShell == "zsh") {
programs.zsh.enable = true; programs.zsh.enable = true;
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
features.shells.zsh.enable = lib.mkDefault true; features.shells.zsh.enable = lib.mkDefault true;
features.shells.zsh.antidote.enable = lib.mkDefault config.features.shells.zsh.antidote.enable; features.shells.zsh.antidote.enable = lib.mkDefault config.features.shells.zsh.antidote.enable;
}; };
+6 -7
View File
@@ -53,8 +53,6 @@
extraGroups = [ "networkmanager" "wheel" ]; extraGroups = [ "networkmanager" "wheel" ];
}; };
nixpkgs.config.allowUnfree = true;
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [
git git
fzf fzf
@@ -84,12 +82,13 @@
powerOnBoot = false; powerOnBoot = false;
}; };
home-manager.users.grey = lib.mkIf (config.features.nixos.home-manager.enable) { nixpkgs.config.allowUnfree = true;
home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
info = { info = {
rootPath = lib.mkDefault config.info.rootPath; inherit (config.info) rootPath userName hostName stateVersion;
hostName = lib.mkDefault config.info.hostName; hostPlatform = config.nixpkgs.hostPlatform.system;
stateVersion = lib.mkDefault config.info.stateVersion; isStandalone = false;
isStandalone = lib.mkDefault false;
}; };
}; };
+1 -1
View File
@@ -1,5 +1,5 @@
{ inputs, self, ... }: { { inputs, self, ... }: {
flake.homeModules.kitagawa = { pkgs, lib, config, ... }: { flake.homeModules."grey@kitagawa" = { pkgs, lib, config, ... }: {
config = lib.mkIf (config.features.applications.cli.fastfetch.enable) ({ config = lib.mkIf (config.features.applications.cli.fastfetch.enable) ({
programs.fastfetch = { programs.fastfetch = {
settings = { settings = {
+1 -1
View File
@@ -1,5 +1,5 @@
{ inputs, self, ... }: { { inputs, self, ... }: {
flake.homeModules.kitagawa = { pkgs, config, lib, ... }: { flake.homeModules."grey@kitagawa" = { pkgs, config, lib, ... }: {
programs.kitty = { programs.kitty = {
font = lib.mkForce { font = lib.mkForce {
name = "Iosevka Comfy"; name = "Iosevka Comfy";
+1 -1
View File
@@ -1,5 +1,5 @@
{ inputs, self, ... }: { { inputs, self, ... }: {
flake.homeModules.kitagawa = { config, pkgs, ... }: let flake.homeModules."grey@kitagawa" = { config, pkgs, ... }: let
mkConfigCommand = args: "zsh -c 'cd ${config.info.rootPath}; git add .; nh os switch ${args}'"; mkConfigCommand = args: "zsh -c 'cd ${config.info.rootPath}; git add .; nh os switch ${args}'";
in { in {
programs.zsh.shellAliases = { programs.zsh.shellAliases = {
+1 -1
View File
@@ -86,7 +86,7 @@
}; };
}; };
flake.homeModules.kitagawa = { config, pkgs, inputs, lib, ... }: { flake.homeModules."grey@kitagawa" = { config, pkgs, inputs, lib, ... }: {
imports = with self.homeModules; [ imports = with self.homeModules; [
global global
audio audio
+28 -9
View File
@@ -5,20 +5,19 @@ in {
options.info = { options.info = {
rootPath = lib.mkOption { rootPath = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = "This option is used to tell the config the global path to the flake's root directory, in order to perform impure actions (in a Nix sense, not morally impure, I promise)."; description = "Used to tell the config the global path to the flake's root directory, in order to perform direct symlinking (not in `/nix/store`).";
default = "/home/grey/nixos"; default = "/home/grey/nixos";
}; };
userName = lib.mkOption {
type = lib.types.str;
description = "Used to tell the config the name of the primary user (the user that this flake should focus on for things like Home Manager configurations, etc).";
default = "grey";
};
hostName = lib.mkOption { hostName = lib.mkOption {
type = lib.types.str; type = lib.types.str;
description = "This option is used to tell the config the hostname of the current machine, mostly for symlinking the right dotfiles."; description = "Used to tell the config the hostname of the current machine, mostly for symlinking the right dotfiles.";
default = "";
};
stateVersion = lib.mkOption {
type = lib.types.str;
description = "This option is used to set the stateVersion value.";
example = "26.11";
default = ""; default = "";
}; };
}; };
@@ -26,6 +25,13 @@ in {
flake.nixosModules.globalOptions = { lib, ... }: { flake.nixosModules.globalOptions = { lib, ... }: {
options = { options = {
info.stateVersion = lib.mkOption {
type = lib.types.str;
description = "Used to set the `system.stateVersion` value.";
example = "26.11";
default = "";
};
components = { components = {
bootLoader = { bootLoader = {
selection = lib.mkOption { selection = lib.mkOption {
@@ -59,6 +65,19 @@ in {
flake.homeModules.globalOptions = { lib, ... }: { flake.homeModules.globalOptions = { lib, ... }: {
options = { options = {
info = { info = {
/* hostPlatform = lib.mkOption {
type = lib.types.str;
description = "Tells the config the platform string that should be used to generate `pkgs`, since `nixpkgs.hostPlatform` does not exist in a standalone Home Manager setup.";
default = "x86_64-linux";
}; */
stateVersion = lib.mkOption {
type = lib.types.str;
description = "Used to set the `home.stateVersion` value.";
example = "26.11";
default = "";
};
isStandalone = lib.mkOption { isStandalone = lib.mkOption {
type = lib.types.bool; type = lib.types.bool;
description = "This option tells the config whether this home-manager config is part of a larger NixOS config or not, and is read-only."; description = "This option tells the config whether this home-manager config is part of a larger NixOS config or not, and is read-only.";