{ config, lib, pkgs, ... }: { home.username = "alice"; home.homeDirectory = "/home/alice"; home.stateVersion = "23.11"; # Configure cursor home.pointerCursor = { package = pkgs.vanilla-dmz; name = "Vanilla-DMZ"; size = 256; }; # Install packages home.packages = with pkgs; [ texliveFull ] ++ # TeX distribution [ ocaml ] ++ # OCaml [ grim slurp wl-clipboard jq ] ++ # Basic utilities [ bitwarden-cli ] ++ # Personalized selection of command-line (CLI/TUI) apps [ kitty ] ++ # Terminal emulator [ firefox cinnamon.nemo gnome.file-roller cinnamon.nemo-fileroller imv vlc pavucontrol grim slurp wl-clipboard ] ++ # Basic graphical apps [ libreoffice signal-desktop element-desktop prismlauncher mumble ] ++ # Personalized selection of graphical apps [ bemenu j4-dmenu-desktop ] ++ # Sway-related packages [ noto-fonts redhat-official-fonts overpass ] ++ # Fonts # [ vanilla-dmz ] ++ # Cursor [ ]; programs.home-manager.enable = true; # Enabling bash from home-manager means environment variables set by HM get set correctly programs.bash = { enable = true; # initExtra = '' # . "$HOME/.nix-profile/etc/profile.d/hm-session-vars.sh" # ''; }; programs.git = { enable = true; extraConfig = { init.defaultBranch = "main"; }; }; wayland.windowManager.sway = import ./wayland/sway.nix { inherit config lib pkgs; }; programs.swaylock = { enable = true; settings = { font-size = 14; }; }; services.swayidle = { enable = true; events = [ { event = "before-sleep"; command = "${pkgs.lib.getExe pkgs.swaylock} -f"; } ]; }; # programs.waybar = import ./wayland/waybar.nix { inherit config lib pkgs; }; # configure fonts correctly fonts.fontconfig.enable = true; xdg.configFile."fontconfig/conf.d/20-default.fonts.conf".source = ./config/20-default-fonts.conf; # fix nemo terminal integration dconf.settings."org/cinnamon/desktop/applications/terminal".exec = "kitty"; programs.kitty = { enable = true; font = { name = "NotoMono"; size = 11; }; shellIntegration.enableZshIntegration = true; }; programs.neovim = import ./programs/neovim.nix; programs.zathura = { enable = true; }; programs.firefox = { enable = true; profiles = { default = { id = 0; name = "Main Profile"; isDefault = true; search = { force = true; default = "DuckDuckGo"; order = [ "DuckDuckGo" "Google" ]; engines = { "Nix Packages" = { urls = [{ template = "https://search.nixos.org/packages"; params = [ { name = "type"; value = "packages"; } { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@np" ]; }; "NixOS Options" = { urls = [{ template = "https://search.nixos.org/options"; params = [ { name = "type"; value = "options"; } { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@no" ]; }; "NixOS Wiki" = { urls = [{ template = "https://nixos.wiki/index.php?search={searchTerms}"; }]; iconUpdateURL = "https://nixos.wiki/favicon.png"; updateInterval = 24 * 60 * 60 * 1000; # every day definedAliases = [ "@nw" ]; }; "HomeManager Unofficial Options" = { urls = [{ template = "https://mipmip.github.io/home-manager-option-search"; params = [ { name = "query"; value = "{searchTerms}"; } ]; }]; icon = "''${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg"; definedAliases = [ "@hm" ]; }; "Google".metaData.alias = "@g"; #builtin engines only support specifying one additional alias }; }; # extensions = with pkgs.nur.repos.rycee.firefox-addons; [ # ublock-origin # bitwarden # multi-account-containers # ]; settings = { "browser.search.region" = "CA"; "browser.search.isUS" = false; }; }; }; }; # programs.thunderbird = { # enable = true; # }; }