{config, pkgs, lib, inputs, vars, ...}:{ imports = [ #aux files to make finding specific things easier # ./theming.nix ./nixvim ./niri.nix ./packages.nix #general user packages not managed by home-manager but i want to install via hm anyways ]; home = rec { username = vars.user; #this is set in flake.nix homeDirectory = "/home/${username}"; #change this if you use a non-standard home dir stateVersion = "23.11"; shell.enableBashIntegration = true; file = { ".config/waybar/config".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal"; ".config/waybar/style.css".source = config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/waybar/terminal.css"; }; }; programs.home-manager.enable = true; programs.foot = { enable = true; settings.main.font = "monospace:size=20"; settings.colors.alpha = "0.9"; }; programs.ncmpcpp = { enable = true; settings = { tags_separator = ";"; }; }; services.mpd = { enable = true; musicDirectory = "/home/${vars.user}/Music"; extraConfig = '' audio_output { type "pipewire" name "default pipewire" } ''; }; services.mpd-mpris = { enable = true; }; services.mpd-discord-rpc.enable = true; programs.waybar = { enable = true; }; programs.git = { enable = true; settings = { user.name = vars.user; user.email = "cydiralis@proton.me"; commit.gpgsign = true; gpg.format = "ssh"; user.signingKey = "~/.ssh/id_ed25519.pub"; init.defaultBranch = "main"; }; }; programs.irssi = { enable = true; networks = { classicconnect = { nick = vars.user; server = { address = "irc.classicconnect.net"; port = 6677; autoConnect = true; }; channels = { nick.autoJoin = true; }; }; }; }; services.kanshi = { enable = true; settings = [ { profile.name = "alyx-desktop"; profile.outputs = [ { criteria = "Microstep MSI G273Q CA8A463100033"; position = "2560,0"; mode = "2560x1440@164.835007"; } { criteria = "Valve Corporation Index HMD 0xEDE55842"; status = "disable"; } ]; } { profile.name = "steamdeck"; profile.outputs = [ { criteria = "Valve Corporation ANX7530 U 0x00000001"; transform = "270"; scale = 1.0; } ]; } ]; }; programs.obs-studio = { enable = true; # plugins = with pkgs.obs-studio-plugins; [ # wlrobs # obs-backgroundremoval # obs-pipewire-audio-capture # ]; }; }