160 lines
3.5 KiB
Nix
160 lines
3.5 KiB
Nix
{ pkgs, nixvim, river-shifttags, kitty-unstable, ... }: let
|
|
username = "khais";
|
|
in {
|
|
imports = [
|
|
./stylix.nix
|
|
./wm
|
|
./direnv.nix
|
|
];
|
|
home = {
|
|
packages = with pkgs; [
|
|
# system tools & bragging
|
|
htop neofetch ripgrep usbutils wget curl ncdu trashy
|
|
# remote working
|
|
remmina
|
|
# audio
|
|
audacity
|
|
# communication
|
|
discord
|
|
# passwords
|
|
bitwarden-desktop
|
|
# editors
|
|
zed-editor nixvim
|
|
# make clipboard yanking work in neovim
|
|
# https://superuser.com/a/1803183
|
|
wl-clipboard
|
|
# wm river utils
|
|
playerctl brightnessctl river-shifttags wlr-randr
|
|
# dev tools
|
|
gitu lnav
|
|
# music
|
|
cmus
|
|
# file sending
|
|
magic-wormhole-rs
|
|
# drawing apps
|
|
krita inkscape
|
|
# nixos tools
|
|
nh nix-output-monitor
|
|
];
|
|
|
|
file = {
|
|
# konsole configuration
|
|
".local/share/konsole/Nixos.profile".source = ./konsole/Nixos.profile;
|
|
".config/nixpkgs/config.nix".text = ''
|
|
{ allowUnfree = true; }
|
|
'';
|
|
};
|
|
|
|
sessionVariables = {
|
|
EDITOR = "nvim";
|
|
};
|
|
|
|
inherit username;
|
|
homeDirectory = "/home/${username}";
|
|
|
|
stateVersion = "23.11";
|
|
};
|
|
|
|
nixpkgs.config.allowUnfree = true;
|
|
|
|
programs.git = {
|
|
enable = true;
|
|
userEmail = "khais.colin@gmail.com";
|
|
userName = "Khaïs COLIN";
|
|
# better diffs
|
|
diff-so-fancy.enable = true;
|
|
# set editor
|
|
extraConfig.core.editor = "nvim";
|
|
# always show diff in commits
|
|
extraConfig.commit.verbose = true;
|
|
};
|
|
|
|
programs.jujutsu = {
|
|
enable = true;
|
|
settings = {
|
|
user = {
|
|
email = "khais.colin@gmail.com";
|
|
name = "Khaïs COLIN";
|
|
};
|
|
ui = {
|
|
editor = "nvim";
|
|
diff-editor = [ "nvim" "-c" "DiffEditor $left $right $output" ];
|
|
merge-editor = [ "nvim" "-c" "DiffEditor $left $right $output" ];
|
|
};
|
|
};
|
|
};
|
|
|
|
programs.zsh = {
|
|
enable = true;
|
|
enableVteIntegration = true;
|
|
prezto = {
|
|
enable = true;
|
|
};
|
|
shellAliases = {
|
|
gc = "git commit -v";
|
|
ga = "git add";
|
|
gst = "git status";
|
|
gp = "git push";
|
|
gd = "git diff";
|
|
gds = "git diff --staged";
|
|
|
|
vim = "nvim";
|
|
vi = "nvim";
|
|
|
|
# progress cp
|
|
# https://serverfault.com/questions/43014/copying-a-large-directory-tree-locally-cp-or-rsync
|
|
pcp = "rsync --info=progress2 --archive --hard-links --acls --xattrs --human-readable --sparse --stats";
|
|
};
|
|
initExtra = ''
|
|
# enable jj completion
|
|
source <(jj util completion zsh)
|
|
'';
|
|
};
|
|
|
|
programs.kitty = {
|
|
package = kitty-unstable;
|
|
enable = true;
|
|
keybindings = {
|
|
"super+shift+enter" = "new_os_window_with_cwd";
|
|
};
|
|
settings = {
|
|
text_fg_override_threshold = 10;
|
|
};
|
|
};
|
|
programs.fuzzel.enable = true;
|
|
|
|
programs.zellij.enable = true;
|
|
|
|
programs.ssh = {
|
|
enable = true;
|
|
matchBlocks = {
|
|
"quasar" = {
|
|
hostname = "109.199.126.230";
|
|
user = "root";
|
|
};
|
|
};
|
|
};
|
|
|
|
# default connection to qemu for virt-manager
|
|
dconf.settings = {
|
|
"org/virt-manager/virt-manager/connections" = {
|
|
autoconnect = ["qemu:///system"];
|
|
uris = ["qemu:///system"];
|
|
};
|
|
};
|
|
|
|
programs.beets = {
|
|
enable = true;
|
|
settings = {
|
|
directory = "/pile/Music";
|
|
library = "/pile/beets.db";
|
|
import = {
|
|
move = false;
|
|
copy = true;
|
|
incremental = false;
|
|
write = true;
|
|
};
|
|
plugins = [ "lyrics" "web" "info" "edit" ];
|
|
};
|
|
};
|
|
}
|