{ config, lib, pkgs, ... }: let scripts = ./scripts; extra = ./extra; terminal = pkgs.alacritty; 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 {}) blueman ] ++ # Basic utilities [ bitwarden-cli ] ++ # Personalized selection of command-line (CLI/TUI) apps [ terminal ] ++ # 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 [ swaybg bemenu j4-dmenu-desktop fcitx5-with-addons ] ++ # Sway- and Wayland-related packages [ noto-fonts redhat-official-fonts overpass ibm-plex font-awesome ] ++ # 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 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"; } ]; }; # 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 = "${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.zathura = { enable = true; }; # Configure notifications services.dunst = { enable = true; settings = { global.font = "Red Hat Display 12"; }; }; services.batsignal = { enable = true; }; programs.firefox = import ./programs/firefox.nix {inherit pkgs;}; programs.thunderbird = import ./programs/thunderbird.nix; }