diff --git a/hosts/de-lacadie/home.nix b/hosts/de-lacadie/home.nix index b64b285..13043f5 100644 --- a/hosts/de-lacadie/home.nix +++ b/hosts/de-lacadie/home.nix @@ -1,43 +1,43 @@ -{ config, lib, pkgs, ... }: +{ lib, pkgs, ... }: -let - scripts = ../../scripts; - extra = ../../extra; - terminal = pkgs.alacritty; -in { +{ imports = [ ../../snippets/common_home.nix ]; home.stateVersion = "24.05"; + # Configure default applications as per /snippets/defaults.nix + defaultPrograms = with pkgs; { + terminal = alacritty; + editor = kakoune; + browser = firefox; + mail = thunderbird; + }; + # 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 { }; + overlay = (final: prev: { + olympus = prev.callPackage ../../pkgs/olympus/package.nix { }; + olympus-unwrapped = prev.callPackage ../../pkgs/olympus-unwrapped/package.nix { }; + }); in + (with (pkgs.extend overlay); [ olympus ]) ++ [ 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 @@ -50,105 +50,14 @@ in { filezilla bitwarden activate-linux + remmina + pinta ] ++ # Personalized selection of graphical apps - [ olympus shticker-book-unwritten ] ++ # Games + [ 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 + [ ] ++ # 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"; - }; - }; - }; - } diff --git a/hosts/randolph/home.nix b/hosts/randolph/home.nix index 4c6e190..5f17eab 100644 --- a/hosts/randolph/home.nix +++ b/hosts/randolph/home.nix @@ -27,10 +27,6 @@ rec { in (with (pkgs.extend overlay); [ olympus ]) ++ (with pkgs; - let - archivo = callPackage ../../pkgs/archivo/archivo.nix { }; - # highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { }; - in [ blueman kalker @@ -55,7 +51,7 @@ rec { shotwell lorien keepassxc - zulip # removed temporarily because of electron issue + zulip filezilla bitwarden activate-linux @@ -65,25 +61,6 @@ rec { [ shticker-book-unwritten ] ++ # Games - [ - noto-fonts - inter - redhat-official-fonts - overpass - ibm-plex - rubik - archivo - # highway-gothic - merriweather-sans - paratype-pt-sans - paratype-pt-serif - libertinus - roboto - lato - merriweather - openmoji-black - openmoji-color - ] ++ # Fonts [ hunspell hunspellDicts.fr-any @@ -95,89 +72,12 @@ rec { 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"; - }]; - }; - # Fixes electron apps home.sessionVariables = { NIXOS_OZONE_WL = "1"; }; - # configure fonts correctly - fonts.fontconfig = { - enable = true; - defaultFonts = { - sansSerif = [ "Rubik" "Noto Sans" "DejaVu Sans" ]; - serif = [ "Noto Serif" "DejaVu Serif" ]; - monospace = [ "Noto Mono" ]; - emoji = [ "OpenMoji" ]; - }; - }; - - # terminal emulator - programs.alacritty.enable = true; - - xdg.desktopEntries.kakoune = { - name = "Kakoune"; - genericName = "Text Editor"; - comment = "Edit text files"; - icon = "kak"; - exec = "kak %F"; - terminal = true; - mimeType = [ - "text/english" - "text/plain" - "text/x-makefile" - "text/x-c++hdr" - "text/x-c++src" - "text/x-chdr" - "text/x-csrc" - "text/x-java" - "text/x-moc" - "text/x-pascal" - "text/x-tcl" - "text/x-tex" - "application/x-shellscript" - "text/x-c" - "text/x-c++" - "text/x-devicetree-source" - ]; - categories = [ "Utility" "TextEditor" ]; - }; - - programs.zathura = { - enable = true; - options = { - selection-clipboard = "clipboard"; - synctex = "true"; - synctex-editor-command = "texlab inverse-search -i %{input} -l %{line}"; - }; - }; - - programs.pandoc = { enable = true; }; - - # Configure notifications - services.dunst = { - enable = true; - settings = { - global = { - font = "Rubik 12"; - mouse_left_click = "do_action, close_current"; - mouse_middle_click = "close_all"; - mouse_right_click = "close_current"; - }; - }; - }; services.batsignal = { enable = true; extraArgs = [ diff --git a/snippets/common_home.nix b/snippets/common_home.nix index 1417f8d..64997c1 100644 --- a/snippets/common_home.nix +++ b/snippets/common_home.nix @@ -16,6 +16,7 @@ ./firefox.nix ./thunderbird.nix ./imv.nix + ./zathura.nix ]; home.username = "alice"; @@ -36,10 +37,49 @@ }; }; + # configure fonts correctly + fonts.fontconfig = { + enable = true; + defaultFonts = { + sansSerif = [ "Rubik" "Noto Sans" "DejaVu Sans" ]; + serif = [ "Noto Serif" "DejaVu Serif" ]; + monospace = [ "Noto Mono" ]; + emoji = [ "OpenMoji" ]; + }; + }; + + home.packages = with pkgs; [ marksman nil ] ++ # Language servers for built in languages [ texliveFull texlab ] ++ # LaTeX - remove this eventually and put it in dev # envs [ xdg-terminal-exec glib upower ] ++ + (let + archivo = callPackage ../../pkgs/archivo/archivo.nix { }; + highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { }; + in [ + noto-fonts + inter + redhat-official-fonts + overpass + ibm-plex + rubik + archivo + highway-gothic + merriweather-sans + paratype-pt-sans + paratype-pt-serif + libertinus + roboto + lato + merriweather + openmoji-black + openmoji-color + ]) ++ # Fonts []; + + # terminal emulator + programs.alacritty.enable = true; + + programs.pandoc.enable = true; } diff --git a/snippets/sway.nix b/snippets/sway.nix index 02282a7..9b3addc 100644 --- a/snippets/sway.nix +++ b/snippets/sway.nix @@ -141,6 +141,18 @@ in { ""; }; + programs.swaylock = { + enable = true; + settings = { font-size = 14; }; + }; + services.swayidle = { + enable = true; + events = [{ + event = "before-sleep"; + command = "${pkgs.lib.getExe pkgs.swaylock} -f"; + }]; + }; + programs.rofi = { enable = true; font = "Rubik 12"; @@ -157,4 +169,18 @@ in { services.playerctld = { enable = true; }; + + # Configure notifications + services.dunst = { + enable = true; + settings = { + global = { + font = "Rubik 12"; + mouse_left_click = "do_action, close_current"; + mouse_middle_click = "close_all"; + mouse_right_click = "close_current"; + }; + }; + }; + } diff --git a/snippets/zathura.nix b/snippets/zathura.nix new file mode 100644 index 0000000..dd25b0b --- /dev/null +++ b/snippets/zathura.nix @@ -0,0 +1,11 @@ +{...}: +{ + programs.zathura = { + enable = true; + options = { + selection-clipboard = "clipboard"; + synctex = "true"; + synctex-editor-command = "texlab inverse-search -i %{input} -l %{line}"; + }; + }; +}