1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
{inputs, ...}: let
channel = "unstable";
system = "x86_64-linux";
hostName = "arwen";
in {
flake.nixosConfigurations.${hostName} = inputs."nixpkgs-${channel}".lib.nixosSystem {
inherit system;
specialArgs = {
inherit inputs;
lib = inputs."nixpkgs-${channel}".lib.extend (
final: prev:
import ../../../../lib {
inherit inputs;
lib = final;
}
);
};
modules = [
{
networking.hostName = hostName;
}
./_nixos
inputs.nixos-hardware.nixosModules.lenovo-thinkpad-e495
inputs.preservation.nixosModules.preservation
inputs.sops-nix.nixosModules.sops
inputs."home-manager-${channel}".nixosModules.home-manager
({
config,
lib,
...
}: let
user = "skye";
in {
imports = with inputs.self.modules.nixos;
[
core
amdgpu
audio
nvim
nix
tailscale
lazygit
gnupg
tlp
home-manager
{
home-manager.users.${user} = {
imports = with inputs.self.modules.homeManager;
[
git
]
++ [
{
home.stateVersion = config.system.stateVersion;
home.file.".config/niri/config.kdl".source = ./niri.kdl;
}
# TODO: see alice
{
arta.git = {
email = "jonni@liljamo.com";
name = "Jonni Liljamo";
};
arta.waybar.extraConfig = {
output = ["eDP-1"];
modules-left = ["niri/workspaces"];
modules-right = [
"bluetooth"
"custom/sep"
"backlight"
"custom/sep"
"battery"
"custom/sep"
"wireplumber"
"custom/sep"
"disk"
"custom/sep"
"network"
"custom/sep"
"clock"
"custom/sep"
"niri/language"
"tray"
];
"network".interface = "wlp4s0";
};
}
];
};
}
]
++ [
inputs.self.modules.nixos.${user}
{
users.users.${user}.extraGroups = ["video"];
}
]
++ lib.flatten [
(lib.arta.importBoth "niri" user)
(lib.arta.importBoth "shell" user)
(lib.arta.importBoth "passmenu" user)
];
})
];
};
}