{config, pkgs, lib, inputs, vars, osConfig, ...}:{ imports = [ inputs.mangowc.hmModules.mango ]; home = rec { username = osConfig.var.username; homeDirectory = "/home/${username}"; stateVersion = "26.05"; shell.enableBashIntegration = true; file = { ".config/waybar/config".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/cyberhack" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/modern"); ".config/waybar/style.css".source = (if osConfig.var.username == "alyx" then config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/cyberhack.css" else config.lib.file.mkOutOfStoreSymlink "${homeDirectory}/.config/nixos/home/bars/modern.css"); ".config/bar-rs/bar-rs.ini".text = builtins.readFile ./bars/bar-rs.ini + (if osConfig.var.hostname == "apalapucia" then '' [style] width = 2540 '' else ''''); }; pointerCursor = { gtk.enable = true; x11.enable = true; package = pkgs.catppuccin-cursors.mochaMauve; name = "catppuccin-mocha-mauve-cursors"; size = 24; }; }; gtk = { enable = true; theme = { name = "CyberHack"; package = pkgs.mypackages.cyberhack; }; }; qt = { enable = true; style.name = "kvantum"; platformTheme.name = "qtct"; }; dconf.settings = { "org/gnome/desktop/interface" = { color-scheme = "prefer-dark"; }; }; xdg.configFile."openxr/1/active_runtime.json" = { source = if osConfig.var.hostname == "apalapucia" then "${pkgs.monado}/share/openxr/1/openxr_monado.json" else "${pkgs.wivrn}/share/openxr/1/openxr_wivrn.json"; enable = (osConfig.var.hostname == "apalapucia" || osConfig.var.hostname == "fenix"); }; xdg.configFile."openvr/openvrpaths.vrpath" = { text = '' { "config" : [ "${config.xdg.dataHome}/Steam/config" ], "external_drivers" : null, "jsonid" : "vrpathreg", "log" : [ "${config.xdg.dataHome}/Steam/logs" ], "runtime" : [ "${pkgs.xrizer}/lib/xrizer" ], "version" : 1 } ''; enable = (osConfig.var.hostname == "apalapucia" || osConfig.var.hostname == "fenix"); }; programs.home-manager.enable = true; programs.foot = { enable = true; settings.main.font = (if osConfig.var.username == "alyx" then "DepartureMono Nerd Font:size=18" else "monospace:size=12"); settings.colors-dark.alpha = "0.6"; settings.colors-dark.foreground = "00ffff"; settings.colors-dark.background = "002428"; settings.colors-dark.regular0 = "002428"; settings.colors-dark.regular1 = "c01c32"; settings.colors-dark.regular2 = "57ff00"; settings.colors-dark.regular3 = "f9f06b"; settings.colors-dark.regular4 = "00ffff"; settings.colors-dark.regular5 = "dc8add"; settings.colors-dark.regular6 = "009294"; settings.colors-dark.regular7 = "62ffff"; settings.colors-dark.bright0 = "021f22"; settings.colors-dark.bright1 = "f21633"; settings.colors-dark.bright2 = "abff80"; settings.colors-dark.bright3 = "f6d32d"; settings.colors-dark.bright4 = "92c4ff"; settings.colors-dark.bright5 = "e7a3e8"; settings.colors-dark.bright6 = "3bc5c3"; settings.colors-dark.bright7 = "ffffff"; settings.colors-dark.selection-foreground = "62ffff"; settings.colors-dark.selection-background = "006e68"; settings.colors-dark.cursor = "002428 00ffff"; settings.main.pad = "6x6 center"; }; programs.ncmpcpp = { enable = true; settings = { tags_separator = ";"; }; }; services.mpd = { enable = true; musicDirectory = "/home/${osConfig.var.username}/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 = osConfig.var.username; user.email = (if osConfig.var.username == "alyx" then "alyxwren@proton.me" else "beanigit@protonmail.com"); commit.gpgsign = true; gpg.format = "ssh"; user.signingKey = "~/.ssh/id_ed25519.pub"; init.defaultBranch = "master"; }; }; xdg.configFile = { "Kvantum/CyberHack".source = "${pkgs.mypackages.cyberhack}/share/Kvantum/CyberHack"; "Kvantum/CyberHack-90".source = "${pkgs.mypackages.cyberhack}/share/Kvantum/CyberHack-90"; "Kvantum/CyberHack-solid".source = "${pkgs.mypackages.cyberhack}/share/Kvantum/CyberHack-solid"; "Kvantum/kvantum.kvconfig".text = '' [General] theme=CyberHack-90 ''; }; wayland.windowManager.sway.enable = true; wayland.windowManager.sway.xwayland = true; wayland.windowManager.sway.package = pkgs.swayfx; wayland.windowManager.sway.config = null; #wayland.windowManager.sway.extraConfigEarly = (if osConfig.var.username == "alyx" then ''set $mod Mod1'' else ''set $mod Mod4''); wayland.windowManager.sway.extraConfigEarly = (if osConfig.var.username == "alyx" then ''set $mod Mod1 '' else ''set $mod Mod4 '') + (if osConfig.var.hostname == "calufrax" then '' input 1:1:AT_Translated_Set_2_keyboard { xkb_layout "gb" xkb_variant "colemak" } '' else ''''); wayland.windowManager.sway.extraConfig = '' include ~/.config/nixos/home/wms/sway ''; wayland.windowManager.sway.checkConfig = false; wayland.windowManager.mango.enable = true; wayland.windowManager.mango.systemd.enable = true; wayland.windowManager.mango.settings = '' source=~/.config/nixos/home/wms/mango '' + (if osConfig.var.hostname == "calufrax" then '' xkb_rules_layout=gb xkb_rules_variant=colemak bind=Alt,g,spawn_shell,foot --title launch --app-id fzf-launcher-foot bash -c 'compgen -c | sort -u | fzf --bind=enter:replace-query+print-query | xargs -I {} mmsg -d spawn,{}' bind=alt+shift,k,quit click_method=2 disable_while_typing=0 gesturebind=none,left,4,viewtoleft_have_client gesturebind=none,right,4,viewtoright_have_client gesturebind=none,up,4,toggleoverview gesturebind=none,down,4,toggleoverview gesturebind=none,left,3,focusdir,left gesturebind=none,right,3,focusdir,right gesturebind=none,up,3,focusdir,up gesturebind=none,down,3,focusdir,down '' else ''''); services.kanshi = { enable = true; settings = [ { profile.name = "alyx-desktop"; profile.outputs = [ { criteria = "Microstep MSI G273Q CA8A463100033"; position = "1600,0"; mode = "2560x1440@164.835007"; } { criteria = "Dell Inc. DELL 2007FP MY546856GT2L"; position = "0,0"; mode = "1600x1200@60.000000"; } ]; } ]; }; programs.nix-index-database.comma.enable = true; programs.obs-studio.enable = true; home.packages = with pkgs; [ grim yarg slurp swww fzf libsForQt5.qt5ct kdePackages.qt6ct libsForQt5.qtstyleplugin-kvantum kdePackages.qtstyleplugin-kvantum mypackages.cyberhack android-tools blender brightnessctl bs-manager clonehero fastfetch gimp hyfetch inkscape kanshi libnotify mpc nemo pavucontrol playerctl prismlauncher swaybg swaynotificationcenter tetrio-desktop transmission_4-qt vesktop wl-clipboard wlr-randr wttrbar v4l-utils steam inputs.waterfox.packages.${pkgs.stdenv.hostPlatform.system}.waterfox-bin ]; }