nix-dotfiles/home.nix

108 lines
2.8 KiB
Nix
Raw Normal View History

2024-01-04 21:21:04 -05:00
{ config, lib, pkgs, ... }:
let
scripts = ./scripts;
in
2024-01-04 21:21:04 -05:00
{
home.username = "alice";
home.homeDirectory = "/home/alice";
home.stateVersion = "23.11";
2024-01-10 10:26:07 -05:00
# Configure cursor
home.pointerCursor = {
package = pkgs.vanilla-dmz;
name = "Vanilla-DMZ";
size = 256;
};
2024-01-10 10:26:07 -05:00
# Install packages
2024-01-04 21:21:04 -05:00
home.packages = with pkgs;
[ texliveFull ] ++ # TeX distribution
[ ocaml ] ++ # OCaml
[ grim slurp wl-clipboard jq ] ++ # Basic utilities
2024-01-10 10:26:07 -05:00
[ 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
[ ];
2024-01-04 21:21:04 -05:00
programs.home-manager.enable = true;
2024-01-05 21:55:45 -05:00
# Enabling bash from home-manager means environment variables set by HM get set correctly
programs.bash = {
enable = true;
profileExtra = "export VISUAL=nvim";
};
2024-01-04 21:21:04 -05:00
programs.git = {
enable = true;
extraConfig = { init.defaultBranch = "main"; };
};
wayland.windowManager.sway = import ./programs/sway.nix { inherit scripts config lib pkgs; };
2024-01-04 21:21:04 -05:00
programs.swaylock = {
enable = true;
settings = {
2024-01-10 10:26:07 -05:00
font-size = 14;
2024-01-04 21:21:04 -05:00
};
};
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; };
2024-01-04 21:21:04 -05:00
2024-01-05 21:55:45 -05:00
# configure fonts correctly
2024-01-04 21:21:04 -05:00
fonts.fontconfig.enable = true;
2024-01-05 21:55:45 -05:00
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";
2024-01-05 21:55:45 -05:00
# programs.kitty = {
# enable = true;
# font = {
# name = "NotoMono";
# size = 11;
# };
# shellIntegration.enableBashIntegration = true;
# };
programs.wezterm = {
2024-01-04 21:21:04 -05:00
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
'';
2024-01-04 21:21:04 -05:00
};
programs.neovim = import ./programs/neovim.nix;
2024-01-04 21:21:04 -05:00
programs.zathura = {
enable = true;
};
programs.firefox = import ./programs/firefox.nix {inherit pkgs;};
programs.thunderbird = import ./programs/thunderbird.nix;