{ pkgs, nixvim, river-shifttags, ... }: 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 = { 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"]; }; }; }