diff --git a/flake.lock b/flake.lock index 2d94f75..f4fb2c1 100644 --- a/flake.lock +++ b/flake.lock @@ -18,39 +18,6 @@ "type": "github" } }, - "base16-alacritty": { - "flake": false, - "locked": { - "lastModified": 1703982197, - "narHash": "sha256-TNxKbwdiUXGi4Z4chT72l3mt3GSvOcz6NZsUH8bQU/k=", - "owner": "aarowill", - "repo": "base16-alacritty", - "rev": "c95c200b3af739708455a03b5d185d3d2d263c6e", - "type": "github" - }, - "original": { - "owner": "aarowill", - "repo": "base16-alacritty", - "type": "github" - } - }, - "base16-alacritty-yaml": { - "flake": false, - "locked": { - "lastModified": 1674275109, - "narHash": "sha256-Adwx9yP70I6mJrjjODOgZJjt4OPPe8gJu7UuBboXO4M=", - "owner": "aarowill", - "repo": "base16-alacritty", - "rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7", - "type": "github" - }, - "original": { - "owner": "aarowill", - "repo": "base16-alacritty", - "rev": "63d8ae5dfefe5db825dd4c699d0cdc2fc2c3eaf7", - "type": "github" - } - }, "base16-fish": { "flake": false, "locked": { @@ -237,6 +204,23 @@ "type": "github" } }, + "gnome-shell": { + "flake": false, + "locked": { + "lastModified": 1713702291, + "narHash": "sha256-zYP1ehjtcV8fo+c+JFfkAqktZ384Y+y779fzmR9lQAU=", + "owner": "GNOME", + "repo": "gnome-shell", + "rev": "0d0aadf013f78a7f7f1dc984d0d812971864b934", + "type": "github" + }, + "original": { + "owner": "GNOME", + "ref": "46.1", + "repo": "gnome-shell", + "type": "github" + } + }, "home-manager": { "inputs": { "nixpkgs": [ @@ -244,16 +228,16 @@ ] }, "locked": { - "lastModified": 1716729592, - "narHash": "sha256-Y3bOjoh2cFBqZN0Jw1zUdyr7tjygyxl2bD/QY73GZP0=", + "lastModified": 1716736833, + "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=", "owner": "nix-community", "repo": "home-manager", - "rev": "2c78a57c544dd19b07442350727ced097e1aa6e6", + "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6", "type": "github" }, "original": { "owner": "nix-community", - "ref": "release-23.11", + "ref": "release-24.05", "repo": "home-manager", "type": "github" } @@ -275,17 +259,18 @@ }, "nixpkgs": { "locked": { - "lastModified": 1716633019, - "narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=", + "lastModified": 1716966868, + "narHash": "sha256-I5dlFm936SkuUu9haYabEBCUPeX6EuXLT1uFkEM/lbY=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e", + "rev": "fafeae3d248c41c6c8a2ab5e09f9e2d3de706ef8", "type": "github" }, "original": { - "id": "nixpkgs", - "ref": "nixos-23.11", - "type": "indirect" + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" } }, "nixpkgs-stable": { @@ -339,8 +324,6 @@ "stylix": { "inputs": { "base16": "base16", - "base16-alacritty": "base16-alacritty", - "base16-alacritty-yaml": "base16-alacritty-yaml", "base16-fish": "base16-fish", "base16-foot": "base16-foot", "base16-helix": "base16-helix", @@ -348,6 +331,7 @@ "base16-tmux": "base16-tmux", "base16-vim": "base16-vim", "flake-compat": "flake-compat_2", + "gnome-shell": "gnome-shell", "home-manager": [ "home-manager" ], @@ -356,16 +340,15 @@ ] }, "locked": { - "lastModified": 1716327543, - "narHash": "sha256-hQoxnofg9YqQBs/TUOX6oJAm7EEghFgaDdqK7DD+0T4=", + "lastModified": 1716895458, + "narHash": "sha256-W9Y/+K4L7JcF5xcXO4MVGQk/0DgzHrp/IjlHyLeYExY=", "owner": "danth", "repo": "stylix", - "rev": "3c8f033fd585835387a754160f47dab0c37ad5ae", + "rev": "5234b3d467aa803ad8d3fe898ef5673246045984", "type": "github" }, "original": { "owner": "danth", - "ref": "release-23.11", "repo": "stylix", "type": "github" } diff --git a/flake.nix b/flake.nix index 7c53d8d..79dab5d 100644 --- a/flake.nix +++ b/flake.nix @@ -1,15 +1,15 @@ { description = "Chris's system configuration"; inputs = { - nixpkgs.url = "nixpkgs/nixos-23.11"; - flake-utils.url = github:numtide/flake-utils; + nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05"; + flake-utils.url = "github:numtide/flake-utils"; deploy-rs = { - url = github:serokell/deploy-rs; + url = "github:serokell/deploy-rs"; inputs.utils.follows = "flake-utils"; inputs.nixpkgs.follows = "nixpkgs"; }; home-manager = { - url = github:nix-community/home-manager/release-23.11; + url = "github:nix-community/home-manager/release-24.05"; inputs.nixpkgs.follows = "nixpkgs"; }; sops-nix = { @@ -18,92 +18,102 @@ }; impermanence.url = "github:nix-community/impermanence"; stylix = { - url = "github:danth/stylix/release-23.11"; + url = "github:danth/stylix"; inputs = { nixpkgs.follows = "nixpkgs"; home-manager.follows = "home-manager"; }; }; }; - outputs = inputs@{ self, nixpkgs, flake-utils, home-manager, deploy-rs, sops-nix, impermanence, stylix, ... }: - let - pkgs = import nixpkgs { system = "x86_64-linux"; }; - aarch64Pkgs = import nixpkgs { system = "aarch64-linux"; }; - deployAarch64Pkgs = import nixpkgs { - system = "aarch64-linux"; - overlays = [ - deploy-rs.overlay - (self: super: { deploy-rs = { inherit (aarch64Pkgs) deploy-rs; lib = super.deploy-rs.lib; }; }) - ]; - }; - deployPkgs = import nixpkgs { - system = "x86_64-linux"; - overlays = [ - deploy-rs.overlay - (self: super: { deploy-rs = { inherit (pkgs) deploy-rs; lib = super.deploy-rs.lib; }; }) - ]; - }; - in - { - nixosConfigurations = { - smolboi = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - stylix.nixosModules.stylix - impermanence.nixosModules.impermanence - ./systems/smolboi/configuration.nix - home-manager.nixosModules.home-manager - { - home-manager.useGlobalPkgs = true; - home-manager.users.cdombroski = import ./systems/smolboi/home.nix; - } - ]; - }; - zeus = nixpkgs.lib.nixosSystem { - system = "x86_64-linux"; - specialArgs = { inherit inputs; }; - modules = [ ./systems/zeus/configuration.nix ]; - }; - orangepihole = nixpkgs.lib.nixosSystem { + outputs = inputs@{ self, nixpkgs, flake-utils, home-manager, deploy-rs + , sops-nix, impermanence, stylix, ... }: + let + pkgs = import nixpkgs { system = "x86_64-linux"; }; + aarch64Pkgs = import nixpkgs { system = "aarch64-linux"; }; + deployAarch64Pkgs = import nixpkgs { system = "aarch64-linux"; - specialArgs = { inherit inputs; }; - modules = [ - impermanence.nixosModules.impermanence - ./systems/orangepihole/configuration.nix + overlays = [ + deploy-rs.overlay + (self: super: { + deploy-rs = { + inherit (aarch64Pkgs) deploy-rs; + lib = super.deploy-rs.lib; + }; + }) ]; }; - }; - deploy = { - sshUser = "root"; - fastConnection = true; - nodes = { - smolboi = { - hostname = "smolboi"; - profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos self.nixosConfigurations.smolboi; + deployPkgs = import nixpkgs { + system = "x86_64-linux"; + overlays = [ + deploy-rs.overlay + (self: super: { + deploy-rs = { + inherit (pkgs) deploy-rs; + lib = super.deploy-rs.lib; + }; + }) + ]; + }; + in { + nixosConfigurations = { + smolboi = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + stylix.nixosModules.stylix + impermanence.nixosModules.impermanence + ./systems/smolboi/configuration.nix + home-manager.nixosModules.home-manager + { + home-manager.useGlobalPkgs = true; + home-manager.users.cdombroski = import ./systems/smolboi/home.nix; + } + ]; }; - zeus = { - hostname = "zeus"; - profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos self.nixosConfigurations.zeus; + zeus = nixpkgs.lib.nixosSystem { + system = "x86_64-linux"; + specialArgs = { inherit inputs; }; + modules = [ ./systems/zeus/configuration.nix ]; }; - orangepihole = { - hostname = "orangepihole"; - profiles.system.path = deployAarch64Pkgs.deploy-rs.lib.activate.nixos self.nixosConfigurations.orangepihole; + orangepihole = nixpkgs.lib.nixosSystem { + system = "aarch64-linux"; + specialArgs = { inherit inputs; }; + modules = [ + impermanence.nixosModules.impermanence + ./systems/orangepihole/configuration.nix + ]; }; }; - }; - } // - flake-utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages.${system}; - deployLib = deploy-rs.lib.${system}; - in - { - devShells.default = pkgs.mkShell { - buildInputs = [ pkgs.deploy-rs pkgs.sops ]; - }; - checks = deployLib.deployChecks self.deploy; - formatter = pkgs.nixfmt; - } - ); + deploy = { + sshUser = "root"; + fastConnection = true; + nodes = { + smolboi = { + hostname = "smolboi"; + profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos + self.nixosConfigurations.smolboi; + }; + zeus = { + hostname = "zeus"; + profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos + self.nixosConfigurations.zeus; + }; + orangepihole = { + hostname = "orangepihole"; + profiles.system.path = + deployAarch64Pkgs.deploy-rs.lib.activate.nixos + self.nixosConfigurations.orangepihole; + }; + }; + }; + } // flake-utils.lib.eachDefaultSystem (system: + let + pkgs = nixpkgs.legacyPackages.${system}; + deployLib = deploy-rs.lib.${system}; + in { + devShells.default = + pkgs.mkShell { buildInputs = [ pkgs.deploy-rs pkgs.sops ]; }; + checks = deployLib.deployChecks self.deploy; + formatter = pkgs.nixfmt; + }); } diff --git a/modules/aarch64-emu.nix b/modules/aarch64-emu.nix index 4976c47..2032794 100644 --- a/modules/aarch64-emu.nix +++ b/modules/aarch64-emu.nix @@ -1,3 +1 @@ -{...}: { - boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; -} +{ ... }: { boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; } diff --git a/modules/common.nix b/modules/common.nix index 92eef3d..360bbbc 100644 --- a/modules/common.nix +++ b/modules/common.nix @@ -1,3 +1,5 @@ -{ lib, ...}: { - imports = builtins.map (n: ./common + "/${n}") (builtins.attrNames (lib.filterAttrs (k: v: v == "regular" && lib.hasSuffix ".nix" k) (builtins.readDir ./common))); +{ lib, ... }: { + imports = builtins.map (n: ./common + "/${n}") (builtins.attrNames + (lib.filterAttrs (k: v: v == "regular" && lib.hasSuffix ".nix" k) + (builtins.readDir ./common))); } diff --git a/modules/common/common.nix b/modules/common/common.nix index 512d898..4a8c074 100644 --- a/modules/common/common.nix +++ b/modules/common/common.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { time.timeZone = "America/New_York"; i18n.defaultLocale = "en_US.UTF-8"; programs.vim.defaultEditor = true; diff --git a/modules/common/msmtp.nix b/modules/common/msmtp.nix index eccdc33..f0bddb9 100644 --- a/modules/common/msmtp.nix +++ b/modules/common/msmtp.nix @@ -1,5 +1,5 @@ { config, ... }: { - sops.secrets."gmail/password" = {}; + sops.secrets."gmail/password" = { }; programs.msmtp = { enable = true; accounts.default = { @@ -18,7 +18,7 @@ "aliases" = { text = '' root: cdombroski@gmail.com - ''; + ''; mode = "0644"; }; }; diff --git a/modules/common/nix.nix b/modules/common/nix.nix index 61635e0..581a1fc 100644 --- a/modules/common/nix.nix +++ b/modules/common/nix.nix @@ -1,10 +1,7 @@ -{pkgs, lib, inputs, config, ...}: { - environment.systemPackages = with pkgs; [ - nix-output-monitor - ]; +{ pkgs, lib, inputs, config, ... }: { + environment.systemPackages = with pkgs; [ nix-output-monitor ]; programs.git.enable = true; - nix = let - flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; + nix = let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs; in { settings = { experimental-features = [ "nix-command" "flakes" ]; @@ -17,13 +14,16 @@ dates = "weekly"; }; optimise.automatic = true; - registry = lib.mapAttrs (_: flake: {inherit flake;}) flakeInputs; + registry = lib.mapAttrs (_: flake: { inherit flake; }) flakeInputs; nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs; }; system.autoUpgrade = { enable = true; flake = "git+https://git.icanttype.org/cdombroski/nix-configs.git"; allowReboot = true; - rebootWindow = { lower = "02:00"; upper = "06:00"; }; + rebootWindow = { + lower = "02:00"; + upper = "06:00"; + }; }; } diff --git a/modules/common/sops.nix b/modules/common/sops.nix index 293f192..6ad329a 100644 --- a/modules/common/sops.nix +++ b/modules/common/sops.nix @@ -1,4 +1,4 @@ -{ inputs, ... } : { +{ inputs, ... }: { imports = [ inputs.sops-nix.nixosModules.sops ]; sops.defaultSopsFile = ../../secrets/secret.yaml; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; diff --git a/modules/common/sshd.nix b/modules/common/sshd.nix index ca52488..0b197e0 100644 --- a/modules/common/sshd.nix +++ b/modules/common/sshd.nix @@ -1,7 +1,5 @@ -{pkgs, sops, config, ...}: { - sops.secrets."root/password" = { - neededForUsers = true; - }; +{ pkgs, sops, config, ... }: { + sops.secrets."root/password" = { neededForUsers = true; }; services.openssh.enable = true; users.mutableUsers = false; users.users.root = { diff --git a/modules/networkd-base.nix b/modules/networkd-base.nix index 101c065..8ec3af9 100644 --- a/modules/networkd-base.nix +++ b/modules/networkd-base.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { systemd.network.enable = true; networking.useNetworkd = true; services.resolved = { diff --git a/modules/smartd.nix b/modules/smartd.nix index fd3b154..312f05a 100644 --- a/modules/smartd.nix +++ b/modules/smartd.nix @@ -1,4 +1,4 @@ -{...}: { +{ ... }: { services.smartd = { enable = true; defaults.monitored = "-a -o on -s (S/../.././02|L/../../7/04)"; diff --git a/systems/orangepihole/configuration.nix b/systems/orangepihole/configuration.nix index 9648948..8d1ca93 100644 --- a/systems/orangepihole/configuration.nix +++ b/systems/orangepihole/configuration.nix @@ -10,7 +10,7 @@ boot.loader.grub.enable = false; boot.loader.generic-extlinux-compatible.enable = true; boot.loader.timeout = 1; - boot.kernelPackages = pkgs.linuxPackages_6_6; +# boot.kernelPackages = pkgs.linuxPackages_6_6; boot.tmp.cleanOnBoot = true; networking = { hostName = "orangepihole"; # Define your hostname. diff --git a/systems/smolboi/configuration.nix b/systems/smolboi/configuration.nix index b46ee6d..ef00405 100644 --- a/systems/smolboi/configuration.nix +++ b/systems/smolboi/configuration.nix @@ -61,14 +61,12 @@ }; services = { - xserver = { + displayManager.sddm = { enable = true; - displayManager.sddm = { - enable = true; - autoNumlock = true; - }; - desktopManager.plasma5.enable = true; + autoNumlock = true; + wayland.enable = true; }; + desktopManager.plasma6.enable = true; printing = { enable = true; @@ -76,7 +74,8 @@ }; avahi = { enable = true; - nssmdns = true; + nssmdns4 = true; + nssmdns6 = true; openFirewall = true; }; printing.cups-pdf.enable = true; @@ -200,8 +199,29 @@ }; stylix = { - image = "${pkgs.breeze-qt5.bin}/share/wallpapers/Next/contents/images_dark/2560x1440.png"; - base16Scheme = "${pkgs.base16-schemes}/share/themes/solarflare.yaml"; + image = + "${pkgs.breeze-qt5.bin}/share/wallpapers/Next/contents/images_dark/2560x1440.png"; + base16Scheme = { + #attrSet until the new yaml is supported + scheme = "Solar Flare"; + author = "Chuck Harmston (https://chuck.harmston.ch)"; + base00 = "18262F"; + base01 = "222E38"; + base02 = "586875"; + base03 = "667581"; + base04 = "85939E"; + base05 = "A6AFB8"; + base06 = "E8E9ED"; + base07 = "F5F7FA"; + base08 = "EF5253"; + base09 = "E66B2B"; + base0A = "E4B51C"; + base0B = "7CC844"; + base0C = "52CBB0"; + base0D = "33B5E1"; + base0E = "A363D5"; + base0F = "D73C9A"; + }; fonts = { serif = { package = pkgs.noto-fonts; diff --git a/systems/smolboi/home.nix b/systems/smolboi/home.nix index a58250f..ae1a6b4 100644 --- a/systems/smolboi/home.nix +++ b/systems/smolboi/home.nix @@ -23,7 +23,6 @@ openrgb-with-all-plugins keepassxc heroic - yuzu-mainline r2modman mangohud hack-font @@ -81,15 +80,9 @@ systemd.user = { services.gc = { - Service = { - Exec = "nix-collect-garbage --delete-older-than 30d"; - }; - }; - timers.gc = { - Timer = { - OnCalendar = "weekly"; - }; + Service = { Exec = "nix-collect-garbage --delete-older-than 30d"; }; }; + timers.gc = { Timer = { OnCalendar = "weekly"; }; }; targets.tray = { Unit = { Description = "System Tray"; diff --git a/systems/zeus/configuration.nix b/systems/zeus/configuration.nix index 22cec65..80902b2 100644 --- a/systems/zeus/configuration.nix +++ b/systems/zeus/configuration.nix @@ -286,7 +286,8 @@ }; avahi = { enable = true; - nssmdns = true; + nssmdns4 = true; + nssmdns6 = true; openFirewall = true; extraServiceFiles = { smb = ''