nix-dotfiles/hosts/de-lacadie/home.nix
vorboyvo b7261af069 Moved programs/ to snippets/ and made necessary modifications in config.
Edited clifmrc to make 'x' command work somewhat.
2024-11-29 16:31:36 -05:00

262 lines
6.2 KiB
Nix

{ config, lib, pkgs, ... }:
let
scripts = ../../scripts;
extra = ../../extra;
terminal = pkgs.alacritty;
in {
imports = [
../../snippets/kdeconnect.nix
../../snippets/ssh.nix
../../snippets/zsh.nix
];
home.username = "alice";
home.homeDirectory = "/home/alice";
home.stateVersion = "24.05";
# Configure cursor
home.pointerCursor = {
package = pkgs.vanilla-dmz;
name = "Vanilla-DMZ";
size = 128;
};
# Configure icon theme
gtk = {
enable = true;
iconTheme = {
name = "Papirus";
package = pkgs.papirus-icon-theme;
};
};
# Configure internationalization
# i18n.inputMethod.enabled = "fcitx5";
# Configure xdg-desktop-portal (for file picker, etc.)
# xdg.portal = {
# enable = true;
# };
# # Configure gammastep (night shift)
# services.gammastep = {
# enable = true;
# temperature.day = 6500;
# temperature.night = 4000;
# # boul robert-bourassa/boul rené-lévesque : 45.498743909804354, -73.5703457606738
# latitude = 45.4987;
# longitude = -73.5703;
# # tray = true;
# };
# Install packages
home.packages = with pkgs;
let
xdg-terminal-exec =
callPackage ../../pkgs/xdg-terminal-exec/xdg-terminal-exec.nix { };
mons = callPackage ../../pkgs/mons/mons.nix { };
archivo = callPackage ../../pkgs/archivo/archivo.nix { };
highway-gothic = callPackage ../../pkgs/highway-gothic/highway-gothic.nix { };
in [ gcc tree-sitter ] ++ # Basic dev tools
[ marksman nil ] ++ # Language servers except those installed through package sections
[ texliveFull texlab ] ++ # LaTeX
(with ocamlPackages; [
ocaml
opam
dune_3
dune-release
merlin
ocaml-lsp
odoc
ocamlformat
utop
]) ++ # OCaml
[ rustup ] ++ # Rust
[ go gopls ] ++ # Golang
(with elmPackages; [ elm elm-language-server elm-format elm-test ]) ++
[ python3 ] ++ # I guess.....
[
kak-lsp
brightnessctl
grim
slurp
jq
xdg-terminal-exec
blueman
upower
] ++ # 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
] ++ # Personalized selection of graphical apps
[ mons 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
# [ papirus-icon-theme ] ++ # Icons
# [ vanilla-dmz ] ++ # Cursor
[ ] ++ # Temp
[ ];
programs.home-manager.enable = true;
programs.git = {
enable = true;
userName = "vorboyvo";
userEmail = "mrsirofvibe@outlook.com";
extraConfig = {
init.defaultBranch = "main";
core.editor = "kak";
};
};
# wayland.windowManager.sway = import ../../snippets/sway.nix {
# inherit scripts extra config lib pkgs terminal;
#};
#programs.waybar =
# import ../../snippets/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";
# }];
#};
#
# xsession = let
# term = terminal;
# dmenuCommand = builtins.readFile "${scripts}/dmenu.sh";
# in {
# enable = true;
# windowManager.i3 = {
# enable = true;
# 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
# };
# };
# };
# Fixes electron apps
# home.sessionVariables = { NIXOS_OZONE_WL = "1"; };
# 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.kakoune = import ../../snippets/kakoune.nix pkgs;
xdg.configFile."kak-lsp/kak-lsp.toml".source =
../../snippets/kakoune/kak-lsp.toml;
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++"
];
categories = [ "Utility" "TextEditor" ];
};
# 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";
# };
# };
# };
programs.firefox = import ../../snippets/firefox.nix { inherit pkgs; };
programs.thunderbird = import ../../snippets/thunderbird.nix;
}