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 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147
{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;
services.kanshi = {
enable = true;
systemdTarget = "graphical-session.target";
settings = let
internal = {
criteria = "eDP-1";
mode = "1920x1080@60.008";
scale = 1.0;
};
in [
{
profile.name = "standalone";
profile.outputs = [
internal
];
}
{
profile.name = "deskgaming";
profile.outputs = [
(
internal
// {
status = "disable";
}
)
{
criteria = "PNP(BNQ) BenQ EL2870U H9J03659SL0";
mode = "1920x1080@60.000";
}
];
}
];
};
}
# 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)
];
})
];
};
}