nix-dotfiles/home.nix

253 lines
5.8 KiB
Nix
Raw Normal View History

2024-01-04 21:21:04 -05:00
{ config, lib, pkgs, ... }:
let
scripts = ./scripts;
extra = ./extra;
terminal = pkgs.alacritty;
2024-04-13 23:45:36 -04:00
in {
2024-04-14 00:14:12 -04:00
imports = [
./programs/kdeconnect.nix
];
2024-01-04 21:21:04 -05:00
home.username = "alice";
home.homeDirectory = "/home/alice";
2024-01-04 21:21:04 -05:00
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
# 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;
};
2024-01-10 10:26:07 -05:00
# Install packages
2024-04-13 23:45:36 -04:00
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 { };
in [ gcc tree-sitter ] ++ # Basic dev tools
[ marksman nil ] ++ # Language servers except those installed through package sections
2024-04-13 23:45:36 -04:00
[ texliveFull texlab ] ++ # LaTeX
(with ocamlPackages; [
ocaml
opam
dune_3
dune-release
merlin
ocaml-lsp
odoc
ocamlformat
utop
]) ++ # OCaml
[ ghc stack cabal-install haskell-language-server ] ++ # Haskell
[ rustup ] ++ # Rust
2024-04-13 23:45:36 -04:00
[ python3 ] ++ # I guess.....
[ julia ] ++ # Julia
[
kak-lsp
brightnessctl
grim
slurp
wl-clipboard
jq
xdg-terminal-exec
blueman
] ++ # Basic utilities
2024-04-25 15:38:37 -04:00
[ bitwarden-cli htop snore hledger hledger-ui ]
2024-04-13 23:45:36 -04:00
++ # 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
keepassxc
2024-04-25 13:15:11 -04:00
zulip
2024-04-13 23:45:36 -04:00
] ++ # Personalized selection of graphical apps
[ mons ] ++ # Games
[ swaybg bemenu j4-dmenu-desktop ] ++ # Sway- and Wayland-related packages
[
noto-fonts
redhat-official-fonts
overpass
ibm-plex
rubik
archivo
font-awesome
] ++ # Fonts
# [ papirus-icon-theme ] ++ # Icons
# [ vanilla-dmz ] ++ # Cursor
[ ] ++ # Temp
[ ];
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
# Worst case, fallback to bash.
programs.zsh = {
enable = true;
2024-03-22 13:59:46 -04:00
initExtra = ''
# Set prompt
PS1='%(?..[%?] )%B%F{green}[%n@%m %~]%(!.#.$)%f%b '
2024-03-22 13:59:46 -04:00
'';
profileExtra = ''
export VISUAL=nvim
# If running from tty1 start sway
[ "$(tty)" = "/dev/tty1" ] && exec sway
'';
};
2024-01-04 21:21:04 -05:00
programs.git = {
enable = true;
userName = "vorboyvo";
userEmail = "mrsirofvibe@outlook.com";
extraConfig = {
2024-04-13 23:45:36 -04:00
init.defaultBranch = "main";
core.editor = "kak";
};
2024-01-04 21:21:04 -05:00
};
2024-04-13 23:45:36 -04:00
wayland.windowManager.sway = import ./programs/sway.nix {
inherit scripts extra config lib pkgs terminal;
};
2024-04-13 23:45:36 -04:00
programs.waybar =
import ./programs/waybar.nix { inherit scripts config lib pkgs terminal; };
2024-01-04 21:21:04 -05:00
programs.swaylock = {
enable = true;
2024-04-13 23:45:36 -04:00
settings = { font-size = 14; };
2024-01-04 21:21:04 -05:00
};
services.swayidle = {
enable = true;
2024-04-13 23:45:36 -04:00
events = [{
event = "before-sleep";
command = "${pkgs.lib.getExe pkgs.swaylock} -f";
}];
2024-01-04 21:21:04 -05:00
};
2024-04-13 23:45:36 -04:00
home.sessionVariables = { NIXOS_OZONE_WL = "1"; };
2024-01-05 21:55:45 -05:00
# configure fonts correctly
2024-01-04 21:21:04 -05:00
fonts.fontconfig.enable = true;
2024-04-13 23:45:36 -04:00
xdg.configFile."fontconfig/conf.d/20-default.fonts.conf".source =
"${extra}/20-default-fonts.conf";
# fix nemo terminal integration
2024-04-13 23:45:36 -04:00
dconf.settings."org/cinnamon/desktop/applications/terminal".exec =
"${pkgs.lib.getExe terminal}";
# dconf.settings."org/cinnamon/desktop/applications/terminal".exec-arg = "-e --cwd %F";
2024-04-13 23:45:36 -04:00
# terminal emulator
programs.alacritty.enable = true;
2024-04-13 23:45:36 -04:00
# programs.neovim = import ./programs/neovim.nix;
2024-03-07 00:43:07 -05:00
programs.kakoune = import ./programs/kakoune.nix pkgs;
2024-04-13 23:45:36 -04:00
xdg.configFile."kak-lsp/kak-lsp.toml".source =
./programs/kakoune/kak-lsp.toml;
xdg.desktopEntries.kakoune = {
name = "Kakoune";
genericName = "Text Editor";
comment = "Edit text files";
icon = "kak";
exec = "kak %F";
terminal = true;
mimeType = [
2024-04-13 23:45:36 -04:00
"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++"
];
2024-04-13 23:45:36 -04:00
categories = [ "Utility" "TextEditor" ];
};
2024-04-13 23:45:36 -04:00
# programs.zathura = {
# enable = true;
# };
2024-04-13 23:45:36 -04:00
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;
extraArgs = [
"-w 20"
"-c 10"
"-d 3"
];
};
2024-04-13 23:45:36 -04:00
programs.firefox = import ./programs/firefox.nix { inherit pkgs; };
programs.thunderbird = import ./programs/thunderbird.nix;
2024-01-23 10:46:07 -05:00
}