Merge pull request #395 from genebean/24.05

Upgrade to nix 24.05, add plasma 6 to laptop
This commit is contained in:
Gene Liverman 2024-06-06 22:33:10 -04:00 committed by GitHub
commit 2dbef7058a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
7 changed files with 173 additions and 79 deletions

107
flake.lock generated
View file

@ -3,16 +3,16 @@
"brew-src": {
"flake": false,
"locked": {
"lastModified": 1711985568,
"narHash": "sha256-VLeP9HGQwfkiuHDp648PXGCkogr3ktYm0q9Yj+i0lGQ=",
"lastModified": 1716195221,
"narHash": "sha256-u+zjC7efKD3gBD9aKXsUTEhRhBQhYlP+KPFp1QbsgOo=",
"owner": "Homebrew",
"repo": "brew",
"rev": "bd1155be8f50998429a795c15a69c8fe75250510",
"rev": "e0bc557e7b991cb23583679e1cf1c8a92b793aeb",
"type": "github"
},
"original": {
"owner": "Homebrew",
"ref": "4.2.16",
"ref": "4.3.1",
"repo": "brew",
"type": "github"
}
@ -24,11 +24,11 @@
]
},
"locked": {
"lastModified": 1715222527,
"narHash": "sha256-bRmQjmjgle7ENv3gWwQMuL48DU2EZd4xkauiXQIXzas=",
"lastModified": 1717354014,
"narHash": "sha256-WwQo3TGnEbpp3tPqHHqqiXK3jXD9oykdhKaxrv9UzKs=",
"owner": "aksiksi",
"repo": "compose2nix",
"rev": "d20f7ace1e8d51b537ea02b67a0ff02b9c6f26ff",
"rev": "3cc5f141667c1dd434570ab6cb2dbac5739edc52",
"type": "github"
},
"original": {
@ -61,11 +61,11 @@
]
},
"locked": {
"lastModified": 1716168343,
"narHash": "sha256-82oT27w9smpItZ+PyN2C0PjIwZYbIocwXSM4u1igXuc=",
"lastModified": 1717637172,
"narHash": "sha256-geTO9YL1V9zYGxupuZvKFWxh6II9sH2bjI1dmEVhVYQ=",
"owner": "nix-community",
"repo": "disko",
"rev": "6f01b9710bc4d3bf006eb8df928b4b15e0430901",
"rev": "713aa3df481782719aed4d8c20ad31a9effe3564",
"type": "github"
},
"original": {
@ -97,11 +97,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1687709756,
"narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=",
"lastModified": 1710146030,
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7",
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
"type": "github"
},
"original": {
@ -133,16 +133,16 @@
]
},
"locked": {
"lastModified": 1715381426,
"narHash": "sha256-wPuqrAQGdv3ISs74nJfGb+Yprm23U/rFpcHFFNWgM94=",
"lastModified": 1717527182,
"narHash": "sha256-vWSkg6AMok1UUQiSYVdGMOXKD2cDFnajITiSi0Zjd1A=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "ab5542e9dbd13d0100f8baae2bc2d68af901f4b4",
"rev": "845a5c4c073f74105022533907703441e0464bc3",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.11",
"ref": "release-24.05",
"repo": "home-manager",
"type": "github"
}
@ -154,11 +154,11 @@
]
},
"locked": {
"lastModified": 1716204319,
"narHash": "sha256-3KL5dRGk89SUaeODFO6B9lxymCVav3UzqsNxOzAbwVY=",
"lastModified": 1716993688,
"narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "e1cacc63e6e324ae95e65e8aaea62dec74686208",
"rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
"type": "github"
},
"original": {
@ -172,11 +172,11 @@
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1688307440,
"narHash": "sha256-7PTjbN+/+b799YN7Tk2SS5Vh8A0L3gBo8hmB7Y0VXug=",
"lastModified": 1716329735,
"narHash": "sha256-ap51w+VqG21vuzyQ04WrhI2YbWHd3UGz0e7dc/QQmoA=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "b06bab83bdf285ea0ae3c8e145a081eb95959047",
"rev": "eac4f25028c1975a939c8f8fba95c12f8a25e01c",
"type": "github"
},
"original": {
@ -208,11 +208,11 @@
"nixpkgs": "nixpkgs_2"
},
"locked": {
"lastModified": 1712182779,
"narHash": "sha256-DchWIKi4c7Jl7CJXVzOxVetxy+SqnlAY3QuUNy8z+aE=",
"lastModified": 1716838497,
"narHash": "sha256-tkceXNn87z+uC08gvQCl7olSCS782EWdflgq0FkSKiw=",
"owner": "zhaofengli-wip",
"repo": "nix-homebrew",
"rev": "445f7989e096fb90902eed4256b04d8b57c8b358",
"rev": "31e9c8105a3ffdc03829c8c195d385500760d309",
"type": "github"
},
"original": {
@ -221,6 +221,22 @@
"type": "github"
}
},
"nixos-hardware": {
"locked": {
"lastModified": 1717574423,
"narHash": "sha256-cz3P5MZffAHwL2IQaNzsqUBsJS+u0J/AAwArHMAcCa0=",
"owner": "NixOS",
"repo": "nixos-hardware",
"rev": "d6c6cf6f5fead4057d8fb2d5f30aa8ac1727f177",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "master",
"repo": "nixos-hardware",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1687274257,
@ -254,11 +270,11 @@
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1716061101,
"narHash": "sha256-H0eCta7ahEgloGIwE/ihkyGstOGu+kQwAiHvwVoXaA0=",
"lastModified": 1717265169,
"narHash": "sha256-IITcGd6xpNoyq9SZBigCkv4+qMHSqot0RDPR4xsZ2CA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e7cc61784ddf51c81487637b3031a6dd2d6673a2",
"rev": "3b1b4895b2c5f9f5544d02132896aeb9ceea77bc",
"type": "github"
},
"original": {
@ -281,11 +297,11 @@
"systems": "systems_2"
},
"locked": {
"lastModified": 1715707461,
"narHash": "sha256-I/zNUXjd+3UmKG8qFRFrpXpWUTlIeqN8Tp5/e3aQccs=",
"lastModified": 1717095070,
"narHash": "sha256-KCPHcPHmt0RaZ0NBJBYacWtNV62/REd7HrPsrw6DTTI=",
"owner": "stackbuilders",
"repo": "nixpkgs-terraform",
"rev": "8d7d08686e54bd75d86642b3abe1d6c7ef41a0e9",
"rev": "437209631ec33193afdffcf41a657cde5e68f35f",
"type": "github"
},
"original": {
@ -296,11 +312,11 @@
},
"nixpkgs-unstable": {
"locked": {
"lastModified": 1716190602,
"narHash": "sha256-xYRimrR0duWvokWQEvB87bSsICeCvvX9DxpUOzCfsDE=",
"lastModified": 1717646450,
"narHash": "sha256-KE+UmfSVk5PG8jdKdclPVcMrUB8yVZHbsjo7ZT1Bm3c=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "5a5ac83292c7842072318f57d68a48474f8bd34d",
"rev": "818dbe2f96df233d2041739d6079bb616d3e5597",
"type": "github"
},
"original": {
@ -312,11 +328,11 @@
},
"nixpkgs_2": {
"locked": {
"lastModified": 1688049487,
"narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=",
"lastModified": 1716330097,
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9",
"rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2",
"type": "github"
},
"original": {
@ -328,16 +344,16 @@
},
"nixpkgs_3": {
"locked": {
"lastModified": 1716218643,
"narHash": "sha256-i/E7gzQybvcGAYDRGDl39WL6yVk30Je/NXypBz6/nmM=",
"lastModified": 1717555607,
"narHash": "sha256-WZ1s48OODmRJ3DHC+I/DtM3tDRuRJlNqMvxvAPTD7ec=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "a8695cbd09a7ecf3376bd62c798b9864d20f86ee",
"rev": "0b8e7a1ae5a94da2e1ee3f3030a32020f6254105",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "release-23.11",
"ref": "nixos-24.05",
"repo": "nixpkgs",
"type": "github"
}
@ -351,6 +367,7 @@
"nix-darwin": "nix-darwin",
"nix-flatpak": "nix-flatpak",
"nix-homebrew": "nix-homebrew",
"nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs_3",
"nixpkgs-terraform": "nixpkgs-terraform",
"nixpkgs-unstable": "nixpkgs-unstable",
@ -365,11 +382,11 @@
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1716087663,
"narHash": "sha256-zuSAGlx8Qk0OILGCC2GUyZ58/SJ5R3GZdeUNQ6IS0fQ=",
"lastModified": 1717455931,
"narHash": "sha256-8Q6mKSsto8gaGczXd4G0lvawdAYLa5Dlh3/g4hl5CaM=",
"owner": "mic92",
"repo": "sops-nix",
"rev": "0bf1808e70ce80046b0cff821c019df2b19aabf5",
"rev": "d4555e80d80d2fa77f0a44201ca299f9602492a0",
"type": "github"
},
"original": {

View file

@ -3,7 +3,7 @@
inputs = {
# Where we get most of our software. Giant mono repo with recipes
# called derivations that say how to build software.
nixpkgs.url = "github:nixos/nixpkgs/release-23.11";
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.05";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixpkgs-unstable";
compose2nix = {
@ -25,7 +25,7 @@
# Manages things in home directory
home-manager = {
url = "github:nix-community/home-manager/release-23.11";
url = "github:nix-community/home-manager/release-24.05";
inputs.nixpkgs.follows = "nixpkgs";
};
@ -41,6 +41,8 @@
# Manage Homebrew itself
nix-homebrew.url = "github:zhaofengli-wip/nix-homebrew";
nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nixpkgs-terraform = {
url = "github:stackbuilders/nixpkgs-terraform";
inputs.nixpkgs.follows = "nixpkgs";
@ -56,10 +58,10 @@
}; # end inputs
outputs = inputs@{
self, nixpkgs, nixpkgs-unstable, compose2nix, disko, genebean-omp-themes,
home-manager, nix-darwin, nix-flatpak, nix-homebrew, nixpkgs-terraform, sops-nix, ... }: let
home-manager, nix-darwin, nix-flatpak, nix-homebrew, nixos-hardware, nixpkgs-terraform, sops-nix, ... }: let
# creates a macOS system config
darwinHostConfig = system: hostname: username: nix-darwin.lib.darwinSystem {
darwinHostConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: nix-darwin.lib.darwinSystem {
pkgs = import nixpkgs {
inherit system;
config = {
@ -68,7 +70,7 @@
};
overlays = [ nixpkgs-terraform.overlays.default ];
};
specialArgs = { inherit inputs hostname username; };
specialArgs = { inherit inputs hostname username; } // additionalSpecialArgs;
modules = [
nix-homebrew.darwinModules.nix-homebrew {
nix-homebrew = {
@ -92,11 +94,11 @@
./modules/system/common/all-darwin.nix # system-wide stuff
./modules/hosts/darwin/${hostname} # host specific stuff
]; # end modules
] ++ additionalModules; # end modules
}; # end darwinSystem
# creates a nixos system config
nixosHostConfig = system: hostname: username: nixpkgs.lib.nixosSystem {
nixosHostConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs compose2nix hostname username;
pkgs = import nixpkgs {
inherit system;
@ -106,7 +108,7 @@
};
overlays = [ nixpkgs-terraform.overlays.default ];
};
};
} // additionalSpecialArgs;
modules = [
disko.nixosModules.disko
@ -126,10 +128,10 @@
sops-nix.nixosModules.sops # system wide secrets management
./modules/system/common/all-nixos.nix # system-wide stuff
./modules/hosts/nixos/${hostname} # host specific stuff
];
] ++ additionalModules;
}; # end nixosSystem
linuxHomeConfig = system: hostname: username: home-manager.lib.homeManagerConfiguration {
linuxHomeConfig = { system, hostname, username, additionalModules, additionalSpecialArgs }: home-manager.lib.homeManagerConfiguration {
extraSpecialArgs = { inherit genebean-omp-themes hostname username;
pkgs = import nixpkgs {
inherit system;
@ -139,7 +141,7 @@
};
overlays = [ nixpkgs-terraform.overlays.default ];
};
};
} // additionalSpecialArgs;
modules = [
./modules/home-manager/hosts/${hostname}/${username}.nix
{
@ -149,24 +151,80 @@
};
}
sops-nix.homeManagerModules.sops
];
] ++ additionalModules;
}; # end homeManagerConfiguration
in {
# Darwin (macOS) hosts
darwinConfigurations = {
AirPuppet = darwinHostConfig "x86_64-darwin" "AirPuppet" "gene";
Blue-Rock = darwinHostConfig "x86_64-darwin" "Blue-Rock" "gene.liverman";
mightymac = darwinHostConfig "aarch64-darwin" "mightymac" "gene.liverman";
AirPuppet = darwinHostConfig {
system = "x86_64-darwin";
hostname = "AirPuppet";
username = "gene";
additionalModules = [];
additionalSpecialArgs = {};
};
Blue-Rock = darwinHostConfig {
system = "x86_64-darwin";
hostname = "Blue-Rock";
username = "gene.liverman";
additionalModules = [];
additionalSpecialArgs = {};
};
mightymac = darwinHostConfig {
system = "aarch64-darwin";
hostname = "mightymac";
username = "gene.liverman";
additionalModules = [];
additionalSpecialArgs = {};
};
}; # end darwinConfigurations
# NixOS hosts
nixosConfigurations = {
hetznix01 = nixosHostConfig "aarch64-linux" "hetznix01" "gene";
nixnuc = nixosHostConfig "x86_64-linux" "nixnuc" "gene";
rainbow-planet = nixosHostConfig "x86_64-linux" "rainbow-planet" "gene";
# bigboy = nixosHostConfig {
# system = "x86_64-linux";
# hostname = "bigbox";
# username = "gene";
# additionalModules = [
# nixos-hardware.nixosModules.lenovo-thinkpad-p52
# ];
# additionalSpecialArgs = {};
# };
hetznix01 = nixosHostConfig {
system = "aarch64-linux";
hostname = "hetznix01";
username = "gene";
additionalModules = [];
additionalSpecialArgs = {};
};
nixnuc = nixosHostConfig {
system = "x86_64-linux";
hostname = "nixnuc";
username = "gene";
additionalModules = [];
additionalSpecialArgs = {};
};
rainbow-planet = nixosHostConfig {
system = "x86_64-linux";
hostname = "rainbow-planet";
username = "gene";
additionalModules = [
nixos-hardware.nixosModules.dell-xps-13-9360
];
additionalSpecialArgs = {};
};
}; # end nixosConfigurations
# Home Manager (only) users
homeConfigurations = {
gene = linuxHomeConfig "x86_64-linux" "mini-watcher" "gene";
gene = linuxHomeConfig {
system = "x86_64-linux";
hostname = "mini-watcher";
username = "gene";
additionalModules = [];
additionalSpecialArgs = {};
};
}; # end homeConfigurations
};
}

View file

@ -247,7 +247,7 @@ in {
zsh = {
enable = true;
enableCompletion = true;
enableAutosuggestions = true;
autosuggestion.enable = true;
history.save = 1000000;
history.size = 1000000;
initExtra = ''

View file

@ -27,7 +27,10 @@
"kind"
"kubernetes-cli"
"lima"
"opentofu"
"node_exporter"
"podman"
"telegraf"
];
casks = [
"asana"

View file

@ -14,6 +14,8 @@
};
};
environment.sessionVariables.NIXOS_OZONE_WL = "1";
environment.systemPackages = with pkgs; [
# host specific apps
boinc
@ -64,6 +66,8 @@
};
hyprland.enable = true;
ssh.askPassword = "ssh-askpass";
# common programs that really should be in another file
# required for setting to be picked up by xfce4-terminal
xfconf.enable = true;
@ -71,6 +75,11 @@
services = {
boinc.enable = true;
desktopManager.plasma6.enable = true;
displayManager.sddm = {
enable = true;
wayland.enable = true;
};
fwupd.enable = true;
gnome.gnome-keyring.enable = true; # Provides secret storage
gvfs.enable = true; # Used by Nautilus
@ -85,19 +94,22 @@
];
useRoutingFeatures = "client";
};
thermald.enable = true;
xserver = {
enable = true; # Enable the X11 windowing system.
# Configure keymap in X11
xkb = {
layout = "us";
xkbVariant = "";
variant = "";
};
displayManager = {
gdm = {
enable = true;
wayland = true;
};
};
# displayManager = {
# gdm = {
# enable = true;
# wayland = true;
# };
# };
desktopManager.gnome.enable = true;
};
};

View file

@ -11,6 +11,10 @@
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.kernelParams = [
"i915.enable_fbc=1"
"i915.enable_psr=2"
];
boot.extraModulePackages = [ ];
fileSystems."/" =

View file

@ -24,7 +24,7 @@
];
};
fonts.fontDir.enable = false;
fonts.fontDir.enable = true;
fonts.packages = with pkgs; [
font-awesome
(nerdfonts.override {