Update to 24.05

This commit is contained in:
Chris Dombroski 2024-05-30 20:39:54 -04:00
parent 086857da17
commit e79a4fb1ee
15 changed files with 176 additions and 171 deletions

View file

@ -18,39 +18,6 @@
"type": "github" "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": { "base16-fish": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -237,6 +204,23 @@
"type": "github" "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": { "home-manager": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -244,16 +228,16 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716729592, "lastModified": 1716736833,
"narHash": "sha256-Y3bOjoh2cFBqZN0Jw1zUdyr7tjygyxl2bD/QY73GZP0=", "narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "2c78a57c544dd19b07442350727ced097e1aa6e6", "rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-23.11", "ref": "release-24.05",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -275,17 +259,18 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1716633019, "lastModified": 1716966868,
"narHash": "sha256-xim1b5/HZYbWaZKyI7cn9TJCM6ewNVZnesRr00mXeS4=", "narHash": "sha256-I5dlFm936SkuUu9haYabEBCUPeX6EuXLT1uFkEM/lbY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "9d29cd266cebf80234c98dd0b87256b6be0af44e", "rev": "fafeae3d248c41c6c8a2ab5e09f9e2d3de706ef8",
"type": "github" "type": "github"
}, },
"original": { "original": {
"id": "nixpkgs", "owner": "NixOS",
"ref": "nixos-23.11", "ref": "nixos-24.05",
"type": "indirect" "repo": "nixpkgs",
"type": "github"
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
@ -339,8 +324,6 @@
"stylix": { "stylix": {
"inputs": { "inputs": {
"base16": "base16", "base16": "base16",
"base16-alacritty": "base16-alacritty",
"base16-alacritty-yaml": "base16-alacritty-yaml",
"base16-fish": "base16-fish", "base16-fish": "base16-fish",
"base16-foot": "base16-foot", "base16-foot": "base16-foot",
"base16-helix": "base16-helix", "base16-helix": "base16-helix",
@ -348,6 +331,7 @@
"base16-tmux": "base16-tmux", "base16-tmux": "base16-tmux",
"base16-vim": "base16-vim", "base16-vim": "base16-vim",
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"gnome-shell": "gnome-shell",
"home-manager": [ "home-manager": [
"home-manager" "home-manager"
], ],
@ -356,16 +340,15 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1716327543, "lastModified": 1716895458,
"narHash": "sha256-hQoxnofg9YqQBs/TUOX6oJAm7EEghFgaDdqK7DD+0T4=", "narHash": "sha256-W9Y/+K4L7JcF5xcXO4MVGQk/0DgzHrp/IjlHyLeYExY=",
"owner": "danth", "owner": "danth",
"repo": "stylix", "repo": "stylix",
"rev": "3c8f033fd585835387a754160f47dab0c37ad5ae", "rev": "5234b3d467aa803ad8d3fe898ef5673246045984",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "danth", "owner": "danth",
"ref": "release-23.11",
"repo": "stylix", "repo": "stylix",
"type": "github" "type": "github"
} }

168
flake.nix
View file

@ -1,15 +1,15 @@
{ {
description = "Chris's system configuration"; description = "Chris's system configuration";
inputs = { inputs = {
nixpkgs.url = "nixpkgs/nixos-23.11"; nixpkgs.url = "github:NixOS/nixpkgs/nixos-24.05";
flake-utils.url = github:numtide/flake-utils; flake-utils.url = "github:numtide/flake-utils";
deploy-rs = { deploy-rs = {
url = github:serokell/deploy-rs; url = "github:serokell/deploy-rs";
inputs.utils.follows = "flake-utils"; inputs.utils.follows = "flake-utils";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
home-manager = { home-manager = {
url = github:nix-community/home-manager/release-23.11; url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
sops-nix = { sops-nix = {
@ -18,92 +18,102 @@
}; };
impermanence.url = "github:nix-community/impermanence"; impermanence.url = "github:nix-community/impermanence";
stylix = { stylix = {
url = "github:danth/stylix/release-23.11"; url = "github:danth/stylix";
inputs = { inputs = {
nixpkgs.follows = "nixpkgs"; nixpkgs.follows = "nixpkgs";
home-manager.follows = "home-manager"; home-manager.follows = "home-manager";
}; };
}; };
}; };
outputs = inputs@{ self, nixpkgs, flake-utils, home-manager, deploy-rs, sops-nix, impermanence, stylix, ... }: outputs = inputs@{ self, nixpkgs, flake-utils, home-manager, deploy-rs
let , sops-nix, impermanence, stylix, ... }:
pkgs = import nixpkgs { system = "x86_64-linux"; }; let
aarch64Pkgs = import nixpkgs { system = "aarch64-linux"; }; pkgs = import nixpkgs { system = "x86_64-linux"; };
deployAarch64Pkgs = import nixpkgs { aarch64Pkgs = import nixpkgs { system = "aarch64-linux"; };
system = "aarch64-linux"; deployAarch64Pkgs = import nixpkgs {
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 {
system = "aarch64-linux"; system = "aarch64-linux";
specialArgs = { inherit inputs; }; overlays = [
modules = [ deploy-rs.overlay
impermanence.nixosModules.impermanence (self: super: {
./systems/orangepihole/configuration.nix deploy-rs = {
inherit (aarch64Pkgs) deploy-rs;
lib = super.deploy-rs.lib;
};
})
]; ];
}; };
}; deployPkgs = import nixpkgs {
deploy = { system = "x86_64-linux";
sshUser = "root"; overlays = [
fastConnection = true; deploy-rs.overlay
nodes = { (self: super: {
smolboi = { deploy-rs = {
hostname = "smolboi"; inherit (pkgs) deploy-rs;
profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos self.nixosConfigurations.smolboi; 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 = { zeus = nixpkgs.lib.nixosSystem {
hostname = "zeus"; system = "x86_64-linux";
profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos self.nixosConfigurations.zeus; specialArgs = { inherit inputs; };
modules = [ ./systems/zeus/configuration.nix ];
}; };
orangepihole = { orangepihole = nixpkgs.lib.nixosSystem {
hostname = "orangepihole"; system = "aarch64-linux";
profiles.system.path = deployAarch64Pkgs.deploy-rs.lib.activate.nixos self.nixosConfigurations.orangepihole; specialArgs = { inherit inputs; };
modules = [
impermanence.nixosModules.impermanence
./systems/orangepihole/configuration.nix
];
}; };
}; };
}; deploy = {
} // sshUser = "root";
flake-utils.lib.eachDefaultSystem (system: fastConnection = true;
let nodes = {
pkgs = nixpkgs.legacyPackages.${system}; smolboi = {
deployLib = deploy-rs.lib.${system}; hostname = "smolboi";
in profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos
{ self.nixosConfigurations.smolboi;
devShells.default = pkgs.mkShell { };
buildInputs = [ pkgs.deploy-rs pkgs.sops ]; zeus = {
}; hostname = "zeus";
checks = deployLib.deployChecks self.deploy; profiles.system.path = deployPkgs.deploy-rs.lib.activate.nixos
formatter = pkgs.nixfmt; 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;
});
} }

View file

@ -1,3 +1 @@
{...}: { { ... }: { boot.binfmt.emulatedSystems = [ "aarch64-linux" ]; }
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
}

View file

@ -1,3 +1,5 @@
{ lib, ...}: { { lib, ... }: {
imports = builtins.map (n: ./common + "/${n}") (builtins.attrNames (lib.filterAttrs (k: v: v == "regular" && lib.hasSuffix ".nix" k) (builtins.readDir ./common))); imports = builtins.map (n: ./common + "/${n}") (builtins.attrNames
(lib.filterAttrs (k: v: v == "regular" && lib.hasSuffix ".nix" k)
(builtins.readDir ./common)));
} }

View file

@ -1,4 +1,4 @@
{...}: { { ... }: {
time.timeZone = "America/New_York"; time.timeZone = "America/New_York";
i18n.defaultLocale = "en_US.UTF-8"; i18n.defaultLocale = "en_US.UTF-8";
programs.vim.defaultEditor = true; programs.vim.defaultEditor = true;

View file

@ -1,5 +1,5 @@
{ config, ... }: { { config, ... }: {
sops.secrets."gmail/password" = {}; sops.secrets."gmail/password" = { };
programs.msmtp = { programs.msmtp = {
enable = true; enable = true;
accounts.default = { accounts.default = {
@ -18,7 +18,7 @@
"aliases" = { "aliases" = {
text = '' text = ''
root: cdombroski@gmail.com root: cdombroski@gmail.com
''; '';
mode = "0644"; mode = "0644";
}; };
}; };

View file

@ -1,10 +1,7 @@
{pkgs, lib, inputs, config, ...}: { { pkgs, lib, inputs, config, ... }: {
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [ nix-output-monitor ];
nix-output-monitor
];
programs.git.enable = true; programs.git.enable = true;
nix = let nix = let flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
flakeInputs = lib.filterAttrs (_: lib.isType "flake") inputs;
in { in {
settings = { settings = {
experimental-features = [ "nix-command" "flakes" ]; experimental-features = [ "nix-command" "flakes" ];
@ -17,13 +14,16 @@
dates = "weekly"; dates = "weekly";
}; };
optimise.automatic = true; 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; nixPath = lib.mapAttrsToList (n: _: "${n}=flake:${n}") flakeInputs;
}; };
system.autoUpgrade = { system.autoUpgrade = {
enable = true; enable = true;
flake = "git+https://git.icanttype.org/cdombroski/nix-configs.git"; flake = "git+https://git.icanttype.org/cdombroski/nix-configs.git";
allowReboot = true; allowReboot = true;
rebootWindow = { lower = "02:00"; upper = "06:00"; }; rebootWindow = {
lower = "02:00";
upper = "06:00";
};
}; };
} }

View file

@ -1,4 +1,4 @@
{ inputs, ... } : { { inputs, ... }: {
imports = [ inputs.sops-nix.nixosModules.sops ]; imports = [ inputs.sops-nix.nixosModules.sops ];
sops.defaultSopsFile = ../../secrets/secret.yaml; sops.defaultSopsFile = ../../secrets/secret.yaml;
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ]; sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" ];

View file

@ -1,7 +1,5 @@
{pkgs, sops, config, ...}: { { pkgs, sops, config, ... }: {
sops.secrets."root/password" = { sops.secrets."root/password" = { neededForUsers = true; };
neededForUsers = true;
};
services.openssh.enable = true; services.openssh.enable = true;
users.mutableUsers = false; users.mutableUsers = false;
users.users.root = { users.users.root = {

View file

@ -1,4 +1,4 @@
{...}: { { ... }: {
systemd.network.enable = true; systemd.network.enable = true;
networking.useNetworkd = true; networking.useNetworkd = true;
services.resolved = { services.resolved = {

View file

@ -1,4 +1,4 @@
{...}: { { ... }: {
services.smartd = { services.smartd = {
enable = true; enable = true;
defaults.monitored = "-a -o on -s (S/../.././02|L/../../7/04)"; defaults.monitored = "-a -o on -s (S/../.././02|L/../../7/04)";

View file

@ -10,7 +10,7 @@
boot.loader.grub.enable = false; boot.loader.grub.enable = false;
boot.loader.generic-extlinux-compatible.enable = true; boot.loader.generic-extlinux-compatible.enable = true;
boot.loader.timeout = 1; boot.loader.timeout = 1;
boot.kernelPackages = pkgs.linuxPackages_6_6; # boot.kernelPackages = pkgs.linuxPackages_6_6;
boot.tmp.cleanOnBoot = true; boot.tmp.cleanOnBoot = true;
networking = { networking = {
hostName = "orangepihole"; # Define your hostname. hostName = "orangepihole"; # Define your hostname.

View file

@ -61,14 +61,12 @@
}; };
services = { services = {
xserver = { displayManager.sddm = {
enable = true; enable = true;
displayManager.sddm = { autoNumlock = true;
enable = true; wayland.enable = true;
autoNumlock = true;
};
desktopManager.plasma5.enable = true;
}; };
desktopManager.plasma6.enable = true;
printing = { printing = {
enable = true; enable = true;
@ -76,7 +74,8 @@
}; };
avahi = { avahi = {
enable = true; enable = true;
nssmdns = true; nssmdns4 = true;
nssmdns6 = true;
openFirewall = true; openFirewall = true;
}; };
printing.cups-pdf.enable = true; printing.cups-pdf.enable = true;
@ -200,8 +199,29 @@
}; };
stylix = { stylix = {
image = "${pkgs.breeze-qt5.bin}/share/wallpapers/Next/contents/images_dark/2560x1440.png"; image =
base16Scheme = "${pkgs.base16-schemes}/share/themes/solarflare.yaml"; "${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 = { fonts = {
serif = { serif = {
package = pkgs.noto-fonts; package = pkgs.noto-fonts;

View file

@ -23,7 +23,6 @@
openrgb-with-all-plugins openrgb-with-all-plugins
keepassxc keepassxc
heroic heroic
yuzu-mainline
r2modman r2modman
mangohud mangohud
hack-font hack-font
@ -81,15 +80,9 @@
systemd.user = { systemd.user = {
services.gc = { services.gc = {
Service = { Service = { Exec = "nix-collect-garbage --delete-older-than 30d"; };
Exec = "nix-collect-garbage --delete-older-than 30d";
};
};
timers.gc = {
Timer = {
OnCalendar = "weekly";
};
}; };
timers.gc = { Timer = { OnCalendar = "weekly"; }; };
targets.tray = { targets.tray = {
Unit = { Unit = {
Description = "System Tray"; Description = "System Tray";

View file

@ -286,7 +286,8 @@
}; };
avahi = { avahi = {
enable = true; enable = true;
nssmdns = true; nssmdns4 = true;
nssmdns6 = true;
openFirewall = true; openFirewall = true;
extraServiceFiles = { extraServiceFiles = {
smb = '' smb = ''