nixos/home-manager/home.nix

107 lines
3.0 KiB
Nix

{ pkgs, ... }:
{
# Basic user info
home.username = "crony";
home.homeDirectory = "/home/crony";
# DO NOT CHANGE
home.stateVersion = "23.11";
# Imports
imports =
[
./modules/gpg.nix
./modules/btop.nix
./modules/mpv.nix
./modules/tmux.nix
./modules/nnn.nix
./modules/dmenu.nix
./modules/mangohud.nix
./modules/shell.nix
./modules/nvim.nix
./modules/restic.nix
# ./modules/theming.nix Not needed when using plasma
./modules/plasma.nix
./modules/alacritty.nix
./modules/newsboat.nix
];
# My packages
home.packages = with pkgs; [
librewolf # Nice privacy browser
thunderbird # Nice mail client
qutebrowser # Nice browser in general
webcord-vencord # Fuck the fact I have to use it
keepassxc # Best password manager
buku # Nice bookmark manager
bukubrow # Nice bookmark manager browser support
rclone # Best sync client in the world
age # Simple file encryption
nitch # Simple system info
libarchive # bsdtar
imagemagick # image tools
ffmpeg # video manupilation
glow # markdown viewer
piper # ratbagd mice config gui
krita # best drawing program
tutanota-desktop # fjdlkfjldjflkd
delfin # jellyfin client
nurl # nix git config tool
ripgrep # Neovim telescope dependency
lazygit # Amazing git tui
lm_sensors # Sensor monitoring tool
feather # Amazing monero wallet
heroic # Epic games/gog game launcher
protonvpn-gui # Proton vpn gui app
(nerdfonts.override { fonts = [ "CascadiaCode" ]; }) # Best font
(retroarch.override {
cores = with libretro; [
snes9x
];
})
# # You can also create simple shell scripts directly inside your
# # configuration. For example, this adds a command 'my-hello' to your
# # environment:
# (writeShellScriptBin "my-hello" ''
# echo "Hello, ${config.home.username}!"
# '')
];
# 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
# '';
};
# Environmental variables I can't live without
home.sessionVariables = {
EDITOR = "nvim";
BROWSER = "qutebrowser";
TERMINAL = "alacritty";
};
# Fix environmental variables not loaded in plasma x11
xsession.enable = true;
# Let Home Manager install and manage itself.
programs.home-manager.enable = true;
# Home manager settings
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
}