228 lines
4.3 KiB
Nix
228 lines
4.3 KiB
Nix
{ inputs, configDir, config, pkgs, lib, ... }: {
|
||
imports = [ ../common/home.nix ];
|
||
|
||
# This value determines the NixOS release from which the default
|
||
# settings for stateful data, like file locations and database versions
|
||
# on your system were taken. It‘s perfectly fine and recommended to leave
|
||
# this value at the release version of the first install of this system.
|
||
# Before changing this value read the documentation for this option
|
||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||
home.stateVersion = "23.11"; # Did you read the comment?
|
||
|
||
home.packages = let
|
||
packages = with pkgs; [
|
||
pavucontrol
|
||
pamixer
|
||
picom
|
||
rofi
|
||
notify-desktop
|
||
pass
|
||
just
|
||
zathura
|
||
libvterm
|
||
texliveFull
|
||
flameshot
|
||
brightnessctl
|
||
pinentry-gtk2
|
||
bluez5-experimental
|
||
bluez-tools
|
||
blueman
|
||
dmenu
|
||
pipewire
|
||
dconf
|
||
mu
|
||
isync
|
||
openssl
|
||
meson
|
||
glib
|
||
stow
|
||
syncthing
|
||
nitrogen
|
||
redshift
|
||
networkmanager
|
||
nixfmt-classic
|
||
hurl
|
||
gh
|
||
libnotify
|
||
tokei
|
||
eza
|
||
typst
|
||
typst-live
|
||
gdb
|
||
ccls
|
||
clang-tools
|
||
valgrind
|
||
fzf
|
||
rofi
|
||
rofi-bluetooth
|
||
docker
|
||
awscli
|
||
bear
|
||
direnv
|
||
wasmtime
|
||
gleam
|
||
erlang
|
||
|
||
discord
|
||
steam
|
||
bitwarden
|
||
nautilus
|
||
obs-studio
|
||
vlc
|
||
easyeffects
|
||
thunderbird
|
||
signal-desktop
|
||
plasma5Packages.kdeconnect-kde
|
||
(prismlauncher.override { jdks = [ jdk23 jdk8 ]; })
|
||
tidal-hifi
|
||
zotero
|
||
deadd-notification-center
|
||
mullvad-browser
|
||
networkmanagerapplet
|
||
pasystray
|
||
arandr
|
||
inkscape
|
||
zoom-us
|
||
gimp
|
||
libreoffice
|
||
peek
|
||
rofimoji
|
||
playerctl
|
||
|
||
emacs
|
||
alacritty
|
||
|
||
mu
|
||
msmtp
|
||
|
||
semgrep
|
||
|
||
ruff
|
||
ruff-lsp
|
||
|
||
irony-server
|
||
|
||
jdk23
|
||
|
||
ocaml
|
||
ocamlPackages.ocaml-lsp
|
||
dune_3
|
||
|
||
noto-fonts
|
||
fira-code
|
||
open-sans
|
||
inter
|
||
roboto-mono
|
||
jetbrains-mono
|
||
noto-fonts-cjk-sans
|
||
libertine
|
||
roboto
|
||
];
|
||
emacsPackages = with pkgs.emacsPackages; [ mu4e ];
|
||
pythonPackages = with pkgs.python312Packages; [ python-lsp-server ];
|
||
in packages ++ emacsPackages ++ pythonPackages;
|
||
|
||
home.sessionPath = [
|
||
"$HOME/.local/share/racket/8.14/bin/" # This has to be updated every time Racket updates :(
|
||
];
|
||
|
||
xresources.properties = {
|
||
"Xft.antialias" = true;
|
||
"Xft.rgba" = "rgb"; # type of anti-aliasing
|
||
"Xft.hinting" = 1; # font hinting
|
||
"Xft.hintstyle" = "hintslight";
|
||
};
|
||
|
||
### Services
|
||
|
||
# Compositor
|
||
services.picom = {
|
||
enable = true;
|
||
backend = "glx";
|
||
activeOpacity = 1;
|
||
inactiveOpacity = 0.9;
|
||
settings = {
|
||
blur = {
|
||
method = "kawase";
|
||
size = 20;
|
||
deviation = 5.0;
|
||
};
|
||
};
|
||
};
|
||
|
||
services.emacs = {
|
||
enable = true;
|
||
defaultEditor = true;
|
||
};
|
||
|
||
services.pasystray.enable = true;
|
||
|
||
services.redshift = {
|
||
enable = true;
|
||
tray = true;
|
||
dawnTime = "6:00-7:00";
|
||
duskTime = "18:00-19:00";
|
||
temperature = {
|
||
day = 6500;
|
||
night = 4500;
|
||
};
|
||
};
|
||
|
||
### Programs
|
||
programs.home-manager.enable = true;
|
||
programs.mu.enable = true;
|
||
programs.direnv.nix-direnv.enable = true;
|
||
|
||
programs.alacritty = {
|
||
enable = true;
|
||
settings = {
|
||
terminal.shell = "fish";
|
||
font.size = 5;
|
||
font.normal = {
|
||
family = "JetBrains Mono";
|
||
style = "SemiBold";
|
||
};
|
||
font.bold = {
|
||
family = "JetBrains Mono";
|
||
style = "Bold";
|
||
};
|
||
font.italic = {
|
||
family = "JetBrains Mono";
|
||
style = "Italic";
|
||
};
|
||
font.bold_italic = {
|
||
family = "JetBrains Mono";
|
||
style = "Bold Italic";
|
||
};
|
||
};
|
||
};
|
||
|
||
programs.git = {
|
||
enable = true;
|
||
userName = "Lucas Sta Maria";
|
||
userEmail = "lucas@priime.dev";
|
||
signing = {
|
||
key = "2EAF5BA156A36810B057BF61F07FB16A826E3B47";
|
||
signByDefault = true;
|
||
};
|
||
extraConfig = {
|
||
pull.rebase = true;
|
||
github.user = "priime0";
|
||
credential.helper = "store";
|
||
};
|
||
};
|
||
|
||
programs.gh = {
|
||
enable = true;
|
||
settings.editor = "emacsclient";
|
||
};
|
||
|
||
programs.firefox = {
|
||
enable = true;
|
||
policies = {
|
||
WebsiteFilter = {
|
||
Block = [ "*://*.facebook.com/" ];
|
||
};
|
||
};
|
||
};
|
||
}
|