{ config, lib, pkgs, ... }: let scripts = ../../scripts; extra = ../../extra; terminal = pkgs.alacritty; in { imports = [ ../../snippets/common_home.nix ]; home.stateVersion = "24.05"; # Install packages home.packages = with pkgs; let mons = callPackage ../../pkgs/mons/mons.nix { }; archivo = callPackage ../../pkgs/archivo/archivo.nix { }; highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { }; olympus = callPackage ../../pkgs/olympus/package.nix { }; in [ kak-lsp brightnessctl jq blueman upower glib # provides trash and mount (latter may supplant udisks2?) ] ++ # Basic utilities [ bitwarden-cli htop snore hledger hledger-ui ] ++ # Personalized selection of command-line (CLI/TUI) apps [ terminal ] ++ # Terminal emulator [ imv vlc pavucontrol ] ++ # Basic graphical apps [ libreoffice signal-desktop element-desktop prismlauncher mumble gimp inkscape deluge-gtk shotwell lorien keepassxc zulip filezilla bitwarden activate-linux ] ++ # Personalized selection of graphical apps [ olympus shticker-book-unwritten ] ++ # Games [ bemenu j4-dmenu-desktop xclip xdotool ] ++ # i3 and x11 related packages [ noto-fonts redhat-official-fonts overpass ibm-plex rubik archivo highway-gothic font-awesome ] ++ # Fonts [ temurin-jre-bin-17 ] ++ # Temp [ ]; programs.home-manager.enable = true; # programs.swaylock = { # enable = true; # settings = { font-size = 14; }; # }; # services.swayidle = { # enable = true; # events = [{ # event = "before-sleep"; # command = "${pkgs.lib.getExe pkgs.swaylock} -f"; # }]; # }; xsession = let term = terminal; dmenuCommand = builtins.readFile "${scripts}/dmenu.sh"; shutdownMenu = pkgs.writeShellScript "shutdownmenu" (builtins.readFile "${scripts}/shutdownmenu.sh"); in { enable = true; windowManager.i3 = { enable = true; package = pkgs.i3-gaps; config = rec { terminal = "${pkgs.lib.getExe term}"; modifier = "Mod4"; fonts = { names = [ "Red Hat Display" ]; style = "Regular"; size = 12.0; }; # input = { # "type:keyboard" = { # xkb_layout = "ca,ca"; # xkb_variant = ",eng"; # }; # }; # leaving bars out for now # bars = ... window = { border = 2; titlebar = true; }; menu = "j4-dmenu-desktop --no-generic --term=${pkgs.lib.getExe term} --dmenu='${dmenuCommand}'"; focus.followMouse = false; # keybindings and extraConfig go here keybindings = lib.mkOptionDefault rec { XF86PowerOff = "exec DMENU_COMMAND='${dmenuCommand}' bash ${shutdownMenu}"; "${modifier}+Pause" = XF86PowerOff; }; }; }; }; # configure fonts correctly fonts.fontconfig.enable = true; xdg.configFile."fontconfig/conf.d/5-default.fonts.conf".source = "${extra}/20-default-fonts.conf"; # terminal emulator programs.alacritty.enable = true; # programs.neovim = import ./snippets/neovim.nix; 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"; }; }; }; }