{ config, lib, pkgs, ... }: let scripts = ./scripts; in { 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 [ wezterm ] ++ # 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 gimp inkscape ] ++ # Personalized selection of graphical apps # [ factorio ] ++ # Games [ bemenu j4-dmenu-desktop ] ++ # Sway-related packages [ noto-fonts redhat-official-fonts overpass ibm-plex ] ++ # 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; profileExtra = "export VISUAL=nvim"; }; programs.git = { enable = true; extraConfig = { init.defaultBranch = "main"; }; }; wayland.windowManager.sway = import ./programs/sway.nix { inherit scripts 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 = "wezterm"; # programs.kitty = { # enable = true; # font = { # name = "NotoMono"; # size = 11; # }; # shellIntegration.enableBashIntegration = true; # }; programs.wezterm = { enable = true; enableBashIntegration = true; extraConfig = '' -- Use Config Builder config = wezterm.config_builder() config.hide_tab_bar_if_only_one_tab = true config.enable_scroll_bar = true config.window_padding = { left = 0, right = 1, top = 0, bottom = 0, } return config ''; }; programs.neovim = import ./programs/neovim.nix; programs.zathura = { enable = true; }; programs.firefox = import ./programs/firefox.nix {inherit pkgs;}; programs.thunderbird = import ./programs/thunderbird.nix; }