# -------------------------------------------------- # pqq/poq # ----- # home manager options: # search: # https://home-manager-options.extranix.com/?query= # list # https://nix-community.github.io/home-manager/options.xhtml # -------------------------------------------------- { inputs, outputs, lib, config, pkgs, ... }: { # https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion home.stateVersion = "23.11"; # import home-manager modules imports = [ ../packages/waybar/waybar.nix ../packages/hyprland/hyprland.nix ]; # enable home-manager programs.home-manager.enable = true; # define information about the user and the path(s) it should manage home = { username = "poq"; homeDirectory = "/home/poq"; }; # enable fontconfig configuration # https://nix-community.github.io/home-manager/options.xhtml#opt-fonts.fontconfig.enable fonts.fontconfig.enable = true; # add overlays # https://nix-community.github.io/home-manager/options.xhtml#opt-nixpkgs.overlays nixpkgs.overlays = [ outputs.unstable-packages ]; # add user packages home.packages = with pkgs; [ neofetch # display system information htop # interactive process viewer nerdfonts # full nerfonts package, alt: "(nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" ]; })" pavucontrol # pulseaudio volume control pulseaudio # sound server system / proxy for your sound applications pcmanfm # file manager playerctl # cli utility for controlling media players unstable.hyprlock (pkgs.writeShellScriptBin "helloWorld_1" '' echo "Hello, World! (pkgs.writeShellScriptBin)"; '') (pkgs.writeShellScriptBin "helloWorld_2" (builtins.readFile ../sources/scripts/helloWorld.sh) ) ]; # ----- # add home-manager packages # ----- programs.kitty.enable = true; programs.wofi.enable = true; services.mako.enable = true; # bash :: https://home-manager-options.extranix.com/?query=bash programs.bash.enable = true; # extra commands to run when initializing an interactive shell programs.bash.initExtra = '' #chmod a-x ~/.local/bin/* helloWorld_3 () { echo "Hello, World! (programs.bash.initExtra)"; } alias curae="/home/.curae/curae.sh" # execute it immediately #setxkbmap -model pc105 -layout us,no -option grp:caps_toggle,grp_led:scroll # create alias for manual execution #alias keymap="setxkbmap -model pc105 -layout us,no -option grp:caps_toggle,grp_led:scroll" ''; # extra commands placed in ~/.bashrc (will run even in non-interactive shells) programs.bash.bashrcExtra = '' ''; # enable git programs.git.enable = true; # nicely reload system units when changing configs systemd.user.startServices = "sd-switch"; # include sources # please note that source files has to be executable before the import # https://discourse.nixos.org/t/how-to-make-scripts-imported-via-home-manager-executable/41909 home.file = { ".local/bin" = { source = ../sources/scripts; recursive = true; }; ".local/wp" = { source = ../sources/wallpapers; recursive = true; }; }; }