110 lines
2.7 KiB
Nix
110 lines
2.7 KiB
Nix
{ 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
|
||
neovim
|
||
schildichat-desktop
|
||
dino
|
||
mangohud
|
||
termpdfpy
|
||
lollypop
|
||
skim
|
||
syncthing
|
||
armcord
|
||
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-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;
|
||
}
|