nixos/gunther/leonv.nix
2025-01-05 10:48:09 +01:00

194 lines
3.9 KiB
Nix
Executable file

{ config, pkgs, inputs, ... }:
{
imports = [
./../common
./hypr/hyprland.nix
./eww
];
/* The home.stateVersion option does not have a default and must be set */
home.stateVersion = "24.05";
home.username = "leonv";
home.homeDirectory = "/home/leonv";
home.packages = with pkgs; [
go
# theme for gtk applications
orchis-theme
(catppuccin-gtk.override {
accents = [ "flamingo" ];
size = "compact";
tweaks = [ "rimless" "black" ];
variant = "macchiato";
})
# smt solver for liquid haskell
z3
# operating systems stuff
grub2
xorriso
qemu
nasm
man-pages
man-pages-posix
cpplint
# stuff
swi-prolog
jq
vlc
openvpn
signal-desktop
discord-canary
firefox-wayland
google-chrome
thunderbird
gimp
qpdfview
wget
fontforge
gparted
eza
ripgrep
fd
zoom-us
obsidian
zotero
# development
jetbrains.idea-ultimate
gnumake
ghostscript
jdk11
gcc
gdb
doxygen
haskell.compiler.ghc981
cabal-install
haskell-language-server
python3
python3Packages.pygments
unifont
anki
pandoc
# hyprland
kitty
networkmanagerapplet
mako
libnotify
pavucontrol
hyprpaper
qimgv
playerctl
hyprpicker
wev
inputs.hyprland-contrib.packages.${pkgs.system}.grimblast
bluez
htop
file-roller
zip
unzip
# yubikey
yubico-pam
yubikey-manager
# proof assistants
(agda.withPackages [
agdaPackages.standard-library
agdaPackages.agda-categories
])
coq
lean4
# for emacs
texlab
shellcheck
];
xdg.configHome = /home/leonv/.config;
xdg.configFile."doom/init.el".source = ./doom/init.el;
xdg.configFile."doom/config.el".source = ./doom/config.el;
xdg.configFile."doom/packages.el".source = ./doom/packages.el;
programs.home-manager.enable = true;
programs.zsh = {
enable = true;
shellAliases = {
clean = "sudo nix-env --delete-generations old --profile /nix/var/nix/profiles/system && sudo /nix/var/nix/profiles/system/bin/switch-to-configuration switch && sudo nix-store --gc";
ls = "eza";
ll = "eza -l";
l = "eza -lah";
code = "codium";
alg = "code ~/Git/algprog/tex";
nixos = "code ~/Git/nixos";
};
initExtra = ''
function rebuild () {
sudo nixos-rebuild switch --flake /home/leonv/Git/nixos
sudo cp -r /home/leonv/Git/nixos /etc/
}
'';
oh-my-zsh.enable = true;
};
gtk = {
enable = true;
theme = {
name = "Catppuccin-Macchiato-Compact-Flamingo-Dark";
package = pkgs.catppuccin-gtk.override {
accents = [ "flamingo" ];
size = "compact";
tweaks = [ "rimless" "black" ];
variant = "macchiato";
};
};
iconTheme = {
name = "Dracula";
package = pkgs.dracula-icon-theme;
};
font = {
name = "NotoSans Nerd Font";
};
gtk3 = {
extraConfig.gtk-application-prefer-dark-theme = true;
};
};
home.sessionVariables.GTK_THEME = "Catppuccin-Macchiato-Compact-Flamingo-Dark";
home.sessionPath = [ "$HOME/.config/emacs/bin" ];
home.pointerCursor = {
gtk.enable = true;
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Classic";
size = 24;
};
programs.tofi = {
enable = true;
settings = {
width = "100%";
height = "100%";
border-width = 0;
outline-width = 0;
padding-left = "35%";
padding-top = "35%";
result-spacing = 25;
num-results = 5;
font = "monospace";
background-color = "#000A";
};
};
dconf.settings = {
# GTK4 Setup
"org/gnome/desktop/interface" = {
gtk-theme = "Catppuccin-Macchiato-Compact-Flamingo-Dark";
color-scheme = "prefer-dark";
};
};
services.mpris-proxy.enable = true;
}