diff options
Diffstat (limited to 'modules/home-manager/home.nix')
| -rw-r--r-- | modules/home-manager/home.nix | 217 |
1 files changed, 217 insertions, 0 deletions
diff --git a/modules/home-manager/home.nix b/modules/home-manager/home.nix new file mode 100644 index 0000000..3f4eb02 --- /dev/null +++ b/modules/home-manager/home.nix @@ -0,0 +1,217 @@ +{ inputs, config, ... }: +let + hm = config.flake.modules.homeManager; +in +{ + flake.modules.homeManager.boss = + { pkgs, lib, ... }: + let + claude-code-latest = pkgs.claude-code.override { + manifest = lib.importJSON ./claude-code-manifest-2.1.282.json; + }; + in + { + + imports = [ + hm.bash + hm.emacs + #hm.hyprland + hm.i3 + # hm.YATwm + hm.kitty + inputs.spicetify-nix.homeManagerModules.default + inputs.nixcord.homeModules.nixcord + inputs.zen-browser.homeModules.twilight-official + #inputs.stylix.homeManagerModules.stylix + ]; + + home = { + stateVersion = "24.05"; + username = "boss"; + homeDirectory = "/home/boss"; + }; + + # The home.packages option allows you to install Nix packages into your + # environment. + # nixpkgs.config.allowUnfree = true; + home.packages = with pkgs; [ + feh + pass + # spotify + playerctl + libqalculate + libreoffice + hunspell + hunspellDicts.en_AU + logisim-evolution + thunderbird + xdotool + discord + # (discord.override { + # withOpenASAR = true; + # withVencord = true; + # }) + # vesktop + mumble + gimp + bottom + xfce.thunar + mpv + man-pages + man-pages-posix + # (inputs.plover-flake.packages.${system}.plover.with-plugins (ps: with ps;[ + # plover-dict-commands + # plover-console-ui + # plover-controller + # ])) + pavucontrol + unzip zip + appimage-run + # lunar-client + libnotify + xclip + (python3.withPackages (ps: with ps; [ + python-lsp-server + numpy + matplotlib + jupyter + jupytext + pandas + pydot + scikit-learn + nbdev + pillow + ])) + graphviz + alacritty + # nyxt + wireguard-tools + brightnessctl + # inputs.nil.packages.${system}.default + nil + #inputs.polymc.packages.${system}.default + jre8 + #inputs.zen-browser.packages."${system}".default + piper + qbittorrent + # sbcl + superTuxKart + typst + sops + ffmpeg + ghc + # hytale-launcher + # inputs.hytale-launcher.packages.${pkgs.system}.default + #adom + flatpak + deadlock-mod-manager + nh + claude-code-latest + inputs.claude-desktop.packages.${system}.claude-desktop + # openttd + ]; + + nix = { + #package = pkgs.nix; + settings.experimental-features = [ "nix-command" "flakes" ]; + }; + + home.sessionVariables = { + EDITOR = "emacsclient -c"; + MAKEFLAGS = " -j16 "; + MOZ_ENABLE_WAYLAND = 1; + }; + + + programs.home-manager.enable = true; + + programs.direnv = { + enable = true; + enableBashIntegration = true; + nix-direnv.enable = true; + }; + + services.gpg-agent.enable = true; + services.gpg-agent.pinentry.package = pkgs.pinentry-gtk2; + + services.dunst = { + enable = true; + settings = { + global = { + follow = "keyboard"; + frame_width = 0; + }; + }; + }; + + programs.obs-studio = { + enable = true; + + # optional Nvidia hardware acceleration + # package = ( + # pkgs.obs-studio.override { + # cudaSupport = true; + # } + # ); + + plugins = with pkgs.obs-studio-plugins; [ + obs-pipewire-audio-capture + input-overlay + ]; + }; + + # services.easyeffects.enable = true; + + services.pass-secret-service.enable = true; + # Start with the X session rather than at boot, so it inherits DISPLAY/XAUTHORITY + # and gpg can show the GTK pinentry. Otherwise apps get logged out. + systemd.user.services.pass-secret-service = { + Unit.After = [ "graphical-session.target" ]; + Unit.PartOf = lib.mkForce [ "graphical-session.target" ]; + Install.WantedBy = lib.mkForce [ "graphical-session.target" ]; + }; + + + programs.firefox = { + enable = true; + }; + programs.zen-browser = { + enable = true; + setAsDefaultBrowser = true; + }; + + # programs.nixcord = { + # enable = true; + # }; + + + stylix.targets.spicetify.enable = true; + stylix.targets.firefox.profileNames = [ "default"]; + stylix.targets.zen-browser.profileNames = [ "default" ]; + # stylix.targets.nixcord.enable = true; + + programs.spicetify = + let + spicePkgs = inputs.spicetify-nix.legacyPackages.${pkgs.system}; + in + { + enable = true; + spotifyLaunchFlags = "--disable-gpu --disable-software-rasterizer"; + enabledExtensions = with spicePkgs.extensions; [ + fullAppDisplay + powerBar + # addToQueueTop + loopyLoop + ]; + enabledCustomApps = with spicePkgs.apps; [ + newReleases + lyricsPlus + betterLibrary + ]; + # theme = spicePkgs.themes.nightlight; + }; + + + xsession.windowManager.command = lib.mkForce "$@"; + }; +} |
