{ config, lib, pkgs, ... }: let scripts = ../../scripts; extra = ../../extra; terminal = pkgs.alacritty; in { imports = [ ../../programs/kdeconnect.nix ../../programs/ssh.nix ../../programs/zsh.nix ../../programs/taskwarrior.nix ]; home.username = "alice"; home.homeDirectory = "/home/alice"; home.stateVersion = "23.11"; # Configure cursor home.pointerCursor = { package = pkgs.vanilla-dmz; name = "Vanilla-DMZ"; size = 256; }; # Configure icon theme gtk = { enable = true; iconTheme = { name = "Papirus"; package = pkgs.papirus-icon-theme; }; }; # Configure internationalization # i18n.inputMethod.enabled = "fcitx5"; # Configure xdg-desktop-portal (for file picker, etc.) # xdg.portal = { # enable = true; # }; # Configure gammastep (night shift) services.gammastep = { enable = true; temperature.day = 6500; temperature.night = 4000; # boul robert-bourassa/boul rené-lévesque : 45.498743909804354, -73.5703457606738 latitude = 45.4987; longitude = -73.5703; # tray = true; }; # Install packages home.packages = with pkgs; let xdg-terminal-exec = callPackage ../../pkgs/xdg-terminal-exec/xdg-terminal-exec.nix { }; mons = callPackage ../../pkgs/mons/mons.nix { }; archivo = callPackage ../../pkgs/archivo/archivo.nix { }; highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { }; in [ gcc tree-sitter ] ++ # Basic dev tools [ marksman nil ] ++ # Language servers except those installed through package sections [ texliveFull texlab ] ++ # LaTeX (with ocamlPackages; [ ocaml opam dune_3 dune-release merlin ocaml-lsp odoc ocamlformat utop ]) ++ # OCaml [ rustup ] ++ # Rust [ go gopls ] ++ # Golang (with elmPackages; [ elm elm-language-server elm-format elm-test ]) ++ [ python3 ] ++ # I guess..... [ kak-lsp brightnessctl grim slurp wl-clipboard jq xdg-terminal-exec blueman upower proselint # for prose lint glib ] ++ # Basic utilities [ bitwarden-cli htop snore hledger hledger-ui ] ++ # Personalized selection of command-line (CLI/TUI) apps [ terminal ] ++ # Terminal emulator [ qutebrowser evince imv vlc pavucontrol ] ++ # Basic graphical apps [ libreoffice signal-desktop element-desktop prismlauncher mumble gimp inkscape deluge-gtk shotwell lorien keepassxc zulip filezilla bitwarden josm ] ++ # Personalized selection of graphical apps [ mons shticker-book-unwritten flightgear ] ++ # Games [ swaybg bemenu j4-dmenu-desktop ] ++ # Sway- and Wayland-related packages [ noto-fonts redhat-official-fonts overpass ibm-plex rubik archivo highway-gothic merriweather-sans font-awesome ] ++ # Fonts # [ papirus-icon-theme ] ++ # Icons # [ vanilla-dmz ] ++ # Cursor [ activate-linux android-studio ] ++ # Temp [ ]; programs.home-manager.enable = true; programs.git = { enable = true; userName = "vorboyvo"; userEmail = "mrsirofvibe@outlook.com"; extraConfig = { init.defaultBranch = "main"; core.editor = "kak"; }; }; wayland.windowManager.sway = import ../../programs/sway.nix { inherit scripts extra config lib pkgs terminal; }; programs.waybar = import ../../programs/waybar.nix { inherit scripts config lib pkgs terminal; }; programs.swaylock = { enable = true; settings = { font-size = 14; }; }; services.swayidle = { enable = true; events = [{ event = "before-sleep"; command = "${pkgs.lib.getExe pkgs.swaylock} -f"; }]; }; # Fixes electron apps and also nnn home.sessionVariables = let detachedtext = pkgs.writeShellScript "detachedtext" (builtins.readFile "${scripts}/detachedtext.sh"); in { NIXOS_OZONE_WL = "1"; VISUAL = detachedtext; }; # configure fonts correctly fonts.fontconfig.enable = true; xdg.configFile."fontconfig/conf.d/20-default.fonts.conf".source = "${extra}/20-default-fonts.conf"; # fix nemo terminal integration # dconf.settings."org/cinnamon/desktop/applications/terminal".exec = # "${pkgs.lib.getExe terminal}"; # dconf.settings."org/cinnamon/desktop/applications/terminal".exec-arg = "-e --cwd %F"; # terminal emulator programs.alacritty.enable = true; # programs.neovim = import ./programs/neovim.nix; programs.kakoune = import ../../programs/kakoune.nix pkgs; xdg.configFile."kak-lsp/kak-lsp.toml".source = ../../programs/kakoune/kak-lsp.toml; xdg.desktopEntries.kakoune = { name = "Kakoune"; genericName = "Text Editor"; comment = "Edit text files"; icon = "kak"; exec = "kak %F"; terminal = true; mimeType = [ "text/english" "text/plain" "text/x-makefile" "text/x-c++hdr" "text/x-c++src" "text/x-chdr" "text/x-csrc" "text/x-java" "text/x-moc" "text/x-pascal" "text/x-tcl" "text/x-tex" "application/x-shellscript" "text/x-c" "text/x-c++" ]; categories = [ "Utility" "TextEditor" ]; }; programs.nnn = { enable = true; }; xdg.desktopEntries.nnn = { name = "nnn"; genericName = "File Manager"; comment = "Terminal file manager"; exec = "nnn -Ade"; terminal = true; mimeType = [ "inode/directory" ]; categories = [ "System" "FileTools" "FileManager" "ConsoleOnly" ]; settings.Keywords = "File;Manager;Management;Explorer;Launcher"; }; # programs.zathura = { # enable = true; # }; programs.pandoc = { enable = true; }; # Configure notifications services.dunst = { enable = true; settings = { global = { font = "Red Hat Display 12"; mouse_left_click = "do_action, close_current"; mouse_middle_click = "close_all"; mouse_right_click = "close_current"; }; }; }; services.batsignal = { enable = true; extraArgs = [ "-w 20" "-c 10" "-d 3" ]; }; programs.firefox = import ../../programs/firefox.nix { inherit pkgs; }; programs.thunderbird = import ../../programs/thunderbird.nix; }