diff --git a/flake.nix b/flake.nix index e60b6c5..08fb37c 100644 --- a/flake.nix +++ b/flake.nix @@ -63,9 +63,11 @@ nixcord = { url = "github:FlameFlag/nixcord"; - inputs.flake-parts.follows = "flake-parts"; - inputs.nixpkgs.follows = "nixpkgs"; - inputs.nixpkgs-nixcord.follows = "nixpkgs"; + inputs = { + flake-parts.follows = "flake-parts"; + nixpkgs.follows = "nixpkgs"; + nixpkgs-nixcord.follows = "nixpkgs"; + }; }; vicinae = { diff --git a/homes/x86_64-linux/jo/apps/ghostty/default.nix b/homes/x86_64-linux/jo/apps/ghostty/default.nix index df1b779..b4d0997 100644 --- a/homes/x86_64-linux/jo/apps/ghostty/default.nix +++ b/homes/x86_64-linux/jo/apps/ghostty/default.nix @@ -1,4 +1,4 @@ -{ ... }: +_: { programs.ghostty.enable = true; } diff --git a/homes/x86_64-linux/jo/apps/vicinae/default.nix b/homes/x86_64-linux/jo/apps/vicinae/default.nix index 3b0be08..0cf34c9 100644 --- a/homes/x86_64-linux/jo/apps/vicinae/default.nix +++ b/homes/x86_64-linux/jo/apps/vicinae/default.nix @@ -1,4 +1,4 @@ -{ ... }: +_: { services.vicinae = { enable = true; diff --git a/homes/x86_64-linux/jo/apps/zed/default.nix b/homes/x86_64-linux/jo/apps/zed/default.nix index 23bf585..b931a91 100644 --- a/homes/x86_64-linux/jo/apps/zed/default.nix +++ b/homes/x86_64-linux/jo/apps/zed/default.nix @@ -1,4 +1,4 @@ -{ ... }: +_: { puzzlevision.apps.zed = { enable = true; diff --git a/homes/x86_64-linux/jo/default.nix b/homes/x86_64-linux/jo/default.nix index 40af7ac..0878a6e 100644 --- a/homes/x86_64-linux/jo/default.nix +++ b/homes/x86_64-linux/jo/default.nix @@ -68,5 +68,5 @@ shopware-cli ]; - home.stateVersion = "25.11"; + home.stateVersion = "26.05"; } diff --git a/modules/home/apps/zed/default.nix b/modules/home/apps/zed/default.nix index 36dae18..19d5346 100644 --- a/modules/home/apps/zed/default.nix +++ b/modules/home/apps/zed/default.nix @@ -61,8 +61,7 @@ in ## Install additional packages, based on enable languages extraPackages = with pkgs; - [ ] - ++ lib.optionals cfg.enable-typescript [ + lib.optionals cfg.enable-typescript [ oxlint oxfmt bun diff --git a/modules/home/cli/git/default.nix b/modules/home/cli/git/default.nix index 70add7f..e7a8c64 100644 --- a/modules/home/cli/git/default.nix +++ b/modules/home/cli/git/default.nix @@ -9,9 +9,9 @@ let inherit (lib) mkEnableOption mkIf; inherit (self.lib.options) mkBool; + inherit (config.${namespace}) profile; cfg = config.${namespace}.cli.git; - profile = config.${namespace}.profile; in { options.${namespace}.cli.git = { @@ -29,8 +29,8 @@ in settings = { # Set basic user information user = { + inherit (profile) email; name = profile.fullName; - email = profile.email; }; }; diff --git a/modules/home/desktop/gnome/default.nix b/modules/home/desktop/gnome/default.nix index 4205b1c..5d6d033 100644 --- a/modules/home/desktop/gnome/default.nix +++ b/modules/home/desktop/gnome/default.nix @@ -39,10 +39,12 @@ in dconf.settings = { "org/gnome/shell" = { - favorite-apps = cfg.favorite-apps; + inherit (cfg) favorite-apps; + enabled-extensions = lib.forEach ( cfg.enabled-extensions ++ (lib.optionals osEnableGsConnect [ pkgs.gnomeExtensions.gsconnect ]) ) (x: x.extensionUuid); + disabled-extensions = [ ]; # Make sure none of our extensions are disabled on system rebuild }; "org/gnome/desktop/background" = { diff --git a/modules/home/profile/default.nix b/modules/home/profile/default.nix index 74245cf..272464f 100644 --- a/modules/home/profile/default.nix +++ b/modules/home/profile/default.nix @@ -8,9 +8,9 @@ let inherit (self.lib.options) mkOpt; inherit (lib) types; + inherit (config.home) username; cfg = config.${namespace}.profile; - username = config.home.username; in { options.${namespace}.profile = { diff --git a/modules/home/security/ssh/default.nix b/modules/home/security/ssh/default.nix index 2057361..8a73675 100644 --- a/modules/home/security/ssh/default.nix +++ b/modules/home/security/ssh/default.nix @@ -8,14 +8,14 @@ let inherit (lib) mkEnableOption mkIf types; inherit (self.lib.options) mkOpt; + inherit (config.${namespace}) profile; cfg = config.${namespace}.security.ssh; - profile = config.${namespace}.profile; in { options.${namespace}.security.ssh = { enable = mkEnableOption "SSH agent and client configuration."; - matchBlocks = mkOpt (types.attrsOf (types.anything)) { } "SSH match blocks for client config."; + matchBlocks = mkOpt (types.attrsOf types.anything) { } "SSH match blocks for client config."; }; config = mkIf cfg.enable { diff --git a/modules/home/themes/catppuccin/default.nix b/modules/home/themes/catppuccin/default.nix index 440288f..7a91a86 100644 --- a/modules/home/themes/catppuccin/default.nix +++ b/modules/home/themes/catppuccin/default.nix @@ -31,12 +31,14 @@ in catppuccin = { enable = true; cache.enable = true; - accent = cfg.accent; - flavor = cfg.flavor; + inherit (cfg) accent; + inherit (cfg) flavor; - cursors.enable = true; - cursors.accent = cfg.accent; - cursors.flavor = cfg.flavor; + cursors = { + enable = true; + inherit (cfg) accent; + inherit (cfg) flavor; + }; }; ${namespace}.themes.catppuccin = { diff --git a/modules/nixos/desktop/gnome/default.nix b/modules/nixos/desktop/gnome/default.nix index 7153135..2f90504 100644 --- a/modules/nixos/desktop/gnome/default.nix +++ b/modules/nixos/desktop/gnome/default.nix @@ -17,36 +17,44 @@ in }; config = mkIf cfg.enable { - environment.sessionVariables = { - MOZ_ENABLE_WAYLAND = "1"; # Firefox native Wayland support - NIXOS_OZONE_WL = "1"; # Native Wayland in Chromium and Electron based applications + services = { + displayManager.gdm.enable = true; + desktopManager.gnome.enable = true; + gnome.gnome-keyring.enable = true; }; - services.displayManager.gdm.enable = true; - services.desktopManager.gnome.enable = true; + environment = { + sessionVariables = { + MOZ_ENABLE_WAYLAND = "1"; # Firefox native Wayland support + NIXOS_OZONE_WL = "1"; # Native Wayland in Chromium and Electron based applications + }; - # Exclude various Gnome core applications - environment.gnome.excludePackages = with pkgs; [ - gnome-tour - gedit - cheese - geary - yelp # Help view - epiphany # Gnome web - gnome-console - gnome-terminal - gnome-music - totem # Gnome videos - hitori # Sudoku game - gnome-contacts - gnome-initial-setup - gnome-system-monitor - ]; + # Exclude various Gnome core applications + gnome.excludePackages = with pkgs; [ + gnome-tour + gedit + cheese + geary + yelp # Help view + epiphany # Gnome web + gnome-console + gnome-terminal + gnome-music + totem # Gnome videos + hitori # Sudoku game + gnome-contacts + gnome-initial-setup + gnome-system-monitor + ]; - programs.dconf.enable = true; + systemPackages = with pkgs; [ + refine + showtime + resources + ]; + }; - # Enable gnome-keyring for secret management - services.gnome.gnome-keyring.enable = true; + programs.dconf.enable = true; # Unlock gnome-keyring on login security.pam.services.gdm.enableGnomeKeyring = true; @@ -56,11 +64,5 @@ in enable = true; package = pkgs.gnomeExtensions.gsconnect; }; - - environment.systemPackages = with pkgs; [ - refine - showtime - mission-center - ]; }; } diff --git a/modules/nixos/services/atticd/default.nix b/modules/nixos/services/atticd/default.nix index c9b4d8a..921f6d3 100644 --- a/modules/nixos/services/atticd/default.nix +++ b/modules/nixos/services/atticd/default.nix @@ -23,7 +23,7 @@ in config = mkIf cfg.enable { sops.secrets."services/atticd" = { - sopsFile = cfg.sopsFile; + inherit (cfg) sopsFile; format = cfg.sopsFormat; }; diff --git a/modules/nixos/services/duckdns/default.nix b/modules/nixos/services/duckdns/default.nix index a498cc8..8810e14 100644 --- a/modules/nixos/services/duckdns/default.nix +++ b/modules/nixos/services/duckdns/default.nix @@ -20,7 +20,7 @@ in config = mkIf cfg.enable { sops.secrets.duckdns = { - sopsFile = cfg.sopsFile; + inherit (cfg) sopsFile; format = cfg.sopsFormat; }; diff --git a/modules/nixos/services/traefik/default.nix b/modules/nixos/services/traefik/default.nix index 3dce18b..d6e680a 100644 --- a/modules/nixos/services/traefik/default.nix +++ b/modules/nixos/services/traefik/default.nix @@ -26,7 +26,7 @@ in ]; # http, dashboard, https sops.secrets."services/traefik" = { - sopsFile = cfg.sopsFile; + inherit (cfg) sopsFile; format = cfg.sopsFormat; }; diff --git a/modules/nixos/services/vaultwarden/default.nix b/modules/nixos/services/vaultwarden/default.nix index 644d298..cfac6a8 100644 --- a/modules/nixos/services/vaultwarden/default.nix +++ b/modules/nixos/services/vaultwarden/default.nix @@ -25,7 +25,7 @@ in config = mkIf cfg.enable { sops.secrets."services/vaultwarden" = { - sopsFile = cfg.sopsFile; + inherit (cfg) sopsFile; format = cfg.sopsFormat; }; diff --git a/modules/nixos/system/home-manager/default.nix b/modules/nixos/system/home-manager/default.nix index d12c12d..15cd148 100644 --- a/modules/nixos/system/home-manager/default.nix +++ b/modules/nixos/system/home-manager/default.nix @@ -1,4 +1,4 @@ -{ ... }: +_: { home-manager.backupFileExtension = "hmbackup"; } diff --git a/modules/nixos/system/nix/default.nix b/modules/nixos/system/nix/default.nix index 85ffcf6..5ae2613 100644 --- a/modules/nixos/system/nix/default.nix +++ b/modules/nixos/system/nix/default.nix @@ -43,7 +43,7 @@ in max-jobs = 8; warn-dirty = false; - trusted-users = cfg.trusted-users; + inherit (cfg) trusted-users; }; # Garbage collection configuration. diff --git a/modules/nixos/users/default.nix b/modules/nixos/users/default.nix index 6c5f31a..acbf356 100644 --- a/modules/nixos/users/default.nix +++ b/modules/nixos/users/default.nix @@ -15,9 +15,8 @@ let mkIf ; inherit (self.lib) filesystem options; + inherit (pkgs.stdenv.hostPlatform) system; - # The identifier of the current system type, e.g. "x86_64-linux" or "aarch64-darwin" - system = pkgs.stdenv.hostPlatform.system; cfg = config.${namespace}.users; userSubmodule = types.submodule { diff --git a/systems/x86_64-nixos/absolutesolver/default.nix b/systems/x86_64-nixos/absolutesolver/default.nix index 30e17ea..a1e83db 100644 --- a/systems/x86_64-nixos/absolutesolver/default.nix +++ b/systems/x86_64-nixos/absolutesolver/default.nix @@ -11,9 +11,11 @@ ]; # Setup Sops - sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; - sops.age.keyFile = "/var/lib/sops-nix/key.txt"; - sops.age.generateKey = true; + sops.age = { + sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; + keyFile = "/var/lib/sops-nix/key.txt"; + generateKey = true; + }; puzzlevision = { users.cyn = { diff --git a/systems/x86_64-nixos/absolutesolver/hardware.nix b/systems/x86_64-nixos/absolutesolver/hardware.nix index 699f2a4..0ce7127 100644 --- a/systems/x86_64-nixos/absolutesolver/hardware.nix +++ b/systems/x86_64-nixos/absolutesolver/hardware.nix @@ -12,35 +12,40 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ - "xhci_pci" - "ahci" - "usbhid" - "uas" - "sd_mod" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot = { + initrd.availableKernelModules = [ + "xhci_pci" + "ahci" + "usbhid" + "uas" + "sd_mod" + ]; - fileSystems."/" = { - device = "/dev/disk/by-uuid/5d4f9f57-085f-44a0-b987-bad24ff58769"; - fsType = "btrfs"; - options = [ "subvol=@" ]; + initrd.kernelModules = [ ]; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; }; - fileSystems."/boot" = { - device = "/dev/disk/by-uuid/8D0F-2821"; - fsType = "vfat"; - options = [ - "fmask=0077" - "dmask=0077" - ]; - }; + fileSystems = { + "/" = { + device = "/dev/disk/by-uuid/5d4f9f57-085f-44a0-b987-bad24ff58769"; + fsType = "btrfs"; + options = [ "subvol=@" ]; + }; + + "/boot" = { + device = "/dev/disk/by-uuid/8D0F-2821"; + fsType = "vfat"; + options = [ + "fmask=0077" + "dmask=0077" + ]; + }; - fileSystems."/mnt/storage" = { - device = "/dev/disk/by-uuid/237eb43e-1e4e-4cb1-873e-6b07f1368f4f"; - fsType = "ext4"; + "/mnt/storage" = { + device = "/dev/disk/by-uuid/237eb43e-1e4e-4cb1-873e-6b07f1368f4f"; + fsType = "ext4"; + }; }; swapDevices = [ diff --git a/systems/x86_64-nixos/puzzlevision/hardware-generated.nix b/systems/x86_64-nixos/puzzlevision/hardware-generated.nix index 581f52d..1c59924 100644 --- a/systems/x86_64-nixos/puzzlevision/hardware-generated.nix +++ b/systems/x86_64-nixos/puzzlevision/hardware-generated.nix @@ -13,16 +13,19 @@ (modulesPath + "/installer/scan/not-detected.nix") ]; - boot.initrd.availableKernelModules = [ - "xhci_pci" - "vmd" - "nvme" - "usbhid" - "rtsx_pci_sdmmc" - ]; - boot.initrd.kernelModules = [ ]; - boot.kernelModules = [ "kvm-intel" ]; - boot.extraModulePackages = [ ]; + boot = { + initrd.availableKernelModules = [ + "xhci_pci" + "vmd" + "nvme" + "usbhid" + "rtsx_pci_sdmmc" + ]; + + initrd.kernelModules = [ ]; + kernelModules = [ "kvm-intel" ]; + extraModulePackages = [ ]; + }; fileSystems."/" = { device = "/dev/disk/by-uuid/864b1287-89fd-4cc0-98a5-40a3caf804c6";