{ 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; [ gcc tree-sitter ] ++ # Basic dev tools [ texliveFull ] ++ # TeX distribution (with ocamlPackages; [ ocaml opam dune_3 dune-release merlin ocaml-lsp odoc ocamlformat utop ]) ++ # OCaml [ grim slurp wl-clipboard jq (callPackage ./pkgs/xdg-terminal-exec/xdg-terminal-exec.nix {}) ] ++ # 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 ] ++ # Basic graphical apps [ libreoffice signal-desktop element-desktop prismlauncher mumble gimp inkscape ] ++ # Personalized selection of graphical apps [ (callPackage ./pkgs/mons/mons.nix {}) ] ++ # Games [ bemenu j4-dmenu-desktop fcitx5-with-addons ] ++ # Sway- and Wayland-related packages [ noto-fonts redhat-official-fonts overpass ibm-plex ] ++ # Fonts [ papirus-icon-theme ] ++ # Icons # [ 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 # Enable fcitx for sway export GTK_IM_MODULE=fcitx export QT_IM_MODULE=fcitx export XMODIFIERS=@im=fcitx # If running from tty1 start sway [ "$(tty)" = "/dev/tty1" ] && exec sway ''; }; programs.git = { enable = true; userName = "vorboyvo"; userEmail = "mrsirofvibe@outlook.com"; 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 = ./extra/20-default-fonts.conf; # fix nemo terminal integration dconf.settings."org/cinnamon/desktop/applications/terminal".exec = "wezterm"; # terminal emulator 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; }; # Configure notifications services.dunst = { enable = true; settings = { global.font = "Red Hat Display 12"; }; }; services.batsignal = { enable = true; }; services.kdeconnect = { enable = true; indicator = true; }; programs.firefox = import ./programs/firefox.nix {inherit pkgs;}; programs.thunderbird = import ./programs/thunderbird.nix; }