{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) ]; }) ]; }; }