{inputs, ...}: let channel = "unstable"; system = "x86_64-linux"; hostName = "w"; 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-x13-amd inputs.lanzaboote.nixosModules.lanzaboote inputs."home-manager-${channel}".nixosModules.home-manager ({ config, lib, ... }: let user = "j"; in { imports = with inputs.self.modules.nixos; [ core amdgpu audio nvim nix tailscale lazygit gnupg tlp tidal ssh-agent displaylink home-manager { home-manager.users.${user} = { imports = with inputs.self.modules.homeManager; [ git ] ++ [ { home.stateVersion = config.system.stateVersion; programs.iamb = { enable = true; settings = { default_profile = "liljamo"; profiles = { liljamo.user_id = "@liljamo:lothlorien.social"; skye.user_id = "@skye:lothlorien.social"; }; settings = { message_shortcode_display = true; reaction_shortcode_display = true; notifications.enabled = true; image_preview.protocol.type = "sixel"; }; }; }; services.wpaperd = { enable = true; settings = { "any" = { path = "/home/j/dev/wallhaven-zmeqyg.jpg"; }; }; }; services.kanshi = { enable = true; systemdTarget = "graphical-session.target"; settings = let internal = { criteria = "eDP-1"; mode = "1920x1200@60Hz"; scale = 1.0; }; in [ { profile.name = "standalone"; profile.outputs = [ internal ]; } { profile.name = "work"; profile.outputs = [ ( internal // { position = "0,0"; } ) { criteria = "Samsung Electric Company LF24T450F HK2RA01018"; mode = "1920x1080@60Hz"; position = "1920,0"; } { criteria = "Samsung Electric Company LF24T450F HK2R904582"; mode = "1920x1080@60Hz"; position = "3840,0"; } ]; } { profile.name = "naruska"; profile.outputs = [ ( internal // { position = "760,0"; } ) { criteria = "Samsung Electric Company S34CG50 HNBX800050"; mode = "3440x1440@100Hz"; position = "0,-1440"; } ]; } ]; }; } # TODO: see alice { arta.git = { email = "jonni@liljamo.com"; name = "Jonni Liljamo"; }; arta.hyprland.extraConfig = { exec-once = [ "waybar" ]; monitor = [ "desc:Samsung Electric Company S34CG50 HNBX800050,preferred,auto,1,bitdepth,10,cm,auto,sdrbrightness,1.0,sdrsaturation,1.0" ]; workspace = [ "1,monitor:eDP-1,default:true" "8,monitor:eDP-1" "9,monitor:eDP-1" ]; experimental = { xx_color_management_v4 = true; }; }; arta.hyprlock.extraConfig = { auth = { fingerprint = { enabled = true; }; }; }; arta.waybar.extraConfig = { output = ["eDP-1"]; modules-left = ["hyprland/workspaces"]; modules-right = [ "bluetooth" "custom/sep" "backlight" "custom/sep" "battery" "custom/sep" "wireplumber" "custom/sep" "disk" "custom/sep" "network" "custom/sep" "clock" "custom/sep" "hyprland/language" "tray" ]; "network".interface = "wlp1s0"; }; programs.git.includes = [ { condition = "gitdir:~/dev/work/"; contents.user.email = "jonni.liljamo@sensorfleet.com"; } ]; } ]; }; } ] ++ [ inputs.self.modules.nixos.${user} { users.users.${user}.extraGroups = ["video" "wireshark" "docker"]; } ] ++ lib.flatten [ (lib.arta.importBoth "hyprland" user) (lib.arta.importBoth "shell" user) (lib.arta.importBoth "passmenu" user) (lib.arta.importBoth "bluetooth" user) ]; }) ]; }; }