140 lines
4 KiB
Nix
140 lines
4 KiB
Nix
{ 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;
|
|
};
|
|
|
|
# Configure icon theme
|
|
gtk = {
|
|
enable = true;
|
|
iconTheme = {
|
|
name = "Papirus";
|
|
package = pkgs.papirus-icon-theme;
|
|
};
|
|
};
|
|
|
|
# Install packages
|
|
home.packages = with pkgs;
|
|
[ gcc tree-sitter ] ++ # Basic dev tools
|
|
[ kak-lsp marksman ] ++ # Language servers
|
|
[ texliveFull ] ++ # Typesetting
|
|
(with ocamlPackages; [ ocaml opam dune_3 dune-release merlin ocaml-lsp odoc ocamlformat utop ]) ++ # OCaml
|
|
[ python3 ] ++ # I guess.....
|
|
[ julia ] ++ # Julia
|
|
[ nil ] ++ # Nix tools
|
|
[ brightnessctl grim slurp wl-clipboard jq (callPackage ./pkgs/xdg-terminal-exec/xdg-terminal-exec.nix {}) blueman ] ++ # Basic utilities
|
|
[ bitwarden-cli htop snore ] ++ # Personalized selection of command-line (CLI/TUI) apps
|
|
[ terminal ] ++ # Terminal emulator
|
|
[ firefox cinnamon.nemo gnome.file-roller cinnamon.nemo-fileroller evince imv vlc pavucontrol ] ++ # Basic graphical apps
|
|
[ libreoffice signal-desktop element-desktop prismlauncher mumble gimp inkscape deluge-gtk shotwell lorien ] ++ # 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
|
|
[ ] ++ # Temp
|
|
[ ];
|
|
|
|
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;
|
|
|
|
# trying out kakoune
|
|
programs.kakoune = import ./programs/kakoune.nix;
|
|
|
|
xdg.configFile."kak-lsp/kak-lsp.toml".source = ./programs/kakoune/kak-lsp.toml;
|
|
|
|
# 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";
|
|
};
|
|
};
|
|
};
|
|
services.batsignal = {
|
|
enable = true;
|
|
};
|
|
|
|
programs.firefox = import ./programs/firefox.nix {inherit pkgs;};
|
|
|
|
programs.thunderbird = import ./programs/thunderbird.nix;
|
|
}
|