{ config, pkgs, ... }: { # Home Manager needs a bit of information about you and the paths it should # manage. home.username = "hive"; home.homeDirectory = "/home/hive"; # This value determines the Home Manager release that your configuration is # compatible with. This helps avoid breakage when a new Home Manager release # introduces backwards incompatible changes. # # You should not change this value, even if you update Home Manager. If you do # want to update the value, then make sure to first check the Home Manager # release notes. home.stateVersion = "23.05"; # Please read the comment before changing. # The home.packages option allows you to install Nix packages into your # environment. home.packages = with pkgs; [ bat diceware pwgen kitty git srain neovim neovide schildichat-desktop dino mangohud termpdfpy gimp lollypop skim picard syncthing armcord tdesktop ripgrep tmate btop firefox apostrophe warp syncplay mpv wl-clipboard adw-gtk3 # some bullshit to get gnome apps to install withotu a prefix ] ++ (with pkgs.gnome; with pkgs.gnomeExtensions; [ gnome-boxes gnome-tweaks dconf-editor night-theme-switcher rounded-window-corners appindicator ]); # Home Manager is pretty good at managing dotfiles. The primary way to manage # plain files is through 'home.file'. home.file = { # # Building this configuration will create a copy of 'dotfiles/screenrc' in # # the Nix store. Activating the configuration will then make '~/.screenrc' a # # symlink to the Nix store copy. # ".screenrc".source = dotfiles/screenrc; # # You can also set the file content immediately. # ".gradle/gradle.properties".text = '' # org.gradle.console=verbose # org.gradle.daemon.idletimeout=3600000 # ''; }; home.sessionVariables = { # system configuration EDITOR = "nvim"; # fish config fish_greeting = "✨️ heya ${config.home.username}, welcome to $(hostname) ~"; }; # configure programs programs.home-manager.enable = true; programs.fish = { enable = true; shellAbbrs = { nxs = "nix search nixpkgs"; nxr = "nix run nixpkgs#"; nxsh = "nix shell nixpkgs#"; e = "edit"; nxb = "sudo nixos-rebuild switch"; nxu = "sudo nixos-rebuild boot --upgrade"; nxc = "sudo nix-collect-garbage -d"; }; interactiveShellInit = '' fish_add_path ~/.local/bin fish_add_path ~/.local/bin/scripts fish_add_path ~/.local/share/cargo/bin fish_add_path /var/lib/flatpak/exports/bin fish_vi_key_bindings ''; }; programs.password-store = { enable = true; package = pkgs.pass.withExtensions (exts: [ exts.pass-otp ]); settings = { PASSWORD_STORE_DIR = "${config.xdg.dataHome}/pass"; PASSWORD_STORE_CLIP_TIME = "60"; }; }; programs.browserpass.enable = true; programs.gpg.enable = true; }