1
0
Fork 0
forked from foxora/nix
flake-foxora/homes/aurora/default.nix
2026-02-12 18:53:24 +00:00

314 lines
8.3 KiB
Nix

# aurora's configgg!! :333homnix
# trans <3
{
inputs,
pkgs,
upkgs,
root,
...
}: {
imports = [
inputs.zen.homeModules.twilight
../modules/programs/iamb/iamb.nix
../modules/programs/neovim/nixcats.nix
../modules/programs/spicetify.nix
../modules/programs/yazi/yazi.nix
../modules/programs/nixcord.nix
#../modules/services/keepassxc/keepassxc.nix
../modules/services/dunst.nix
../modules/services/pulse/pulse.nix
../modules/shell/zsh.nix
../modules/shell/programs.nix
../modules/shell/zellij/zellij.nix
../modules/shell/fastfetch/fastfetch.nix
../modules/wm/hyprland/hyprland.nix
../modules/wm/river.nix
../modules/wm/sway.nix
../modules/de/waybar/waybar.nix
../modules/de/rofi/rofi.nix
../modules/de/hyprlock/hyprlock.nix
../modules/de/awww.nix
../modules/themeing/wallust/wallust.nix
#../modules/themeing/hellwal/hellwal.nix
];
home.sessionVariables = {
# xdg session variables
XDG_CACHE_HOME = "$HOME/.cache";
XDG_CONFIG_HOME = "$HOME/.config";
XDG_DATA_HOME = "$HOME/.local/share";
XDG_STATE_HOME = "$HOME/.local/state";
XDG_BIN_HOME = "$HOME/.local/bin"; # not official spec
};
home.sessionPath = [
"$XDG_BIN_HOME"
];
# consider not using this as its not really the nix way
# the way i should be doing this is with nix derivations
#
# copy user scripts to .local/bin
home.file.".local/bin" = {
source = root + "/homes/modules/scripts";
recursive = true;
};
fonts.fontconfig.enable = true;
home.file.".mozilla/native-messaging-hosts/tridactyl.json".source = "${pkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json";
# some packages are enabled from their own module in ./modules
home.packages = with pkgs; [
gcr # provides org.gnome.keyring.SystemPrompter
dix # nix diff
# fonts
nerd-fonts.departure-mono # pretty pixel art font i love!! x3
# cli / tui tools and commands!
eza # replaces: ls (rust)
fzf # fuzzy finder
bat # replaces: cat (rust)
tokei # counts lines of code
starship # shell prompt :3
bacon # background rust code checker (can also use mprocs)
mprocs # tui tool to run multiple commands in parallel and show outputs :3
speedtest-rs # speedtest.net in rust!
ripgrep # rlly fast grep :3
zip # zips .zip
unzip # unzips .zip
(btop.override {rocmSupport = true;}) # btop + amd gpu support
nmap # network discovery and mapping tool!
distrobox # use any linux distro inside ur terminal x3
parted # create, resize, copy, image partitions
popsicle # usb flasher (can be used as a gui tool too :3)
caligula # disk burning tool like popsicle!
exiftool # display and edit metadata on a variety of files
helix # like neovim but rust /hj :333
halloy # irc tui app written in rust
# cli fun
pokeget-rs # prints a random pokemon to the terminal :3
pipes # pipes program <3
# dev
gnumake
gcc
cmake
glib
glibc
pkg-config
gobject-introspection
rustup
zig
elixir
gleam
delta # git diff viewer
# apps
qutebrowser # keyboard-focused browser (chromium)
firefox # (firefox)
tridactyl-native # for firefox browsers
chromium # (chromium)
obsidian # literally best notes app (i use vim mode)
kdePackages.dolphin
qimgv # image viewer!
feh # other image viewer! (im indecisive)
vesktop # modded discord client!
gimp # open source image manipulation program
krita # open source painting application!
imhex # hex editor
kicad # open source electronics design program
easyeda2kicad
libreoffice-qt # word, excel, pdf etc open source programs
hunspell # spell checker
calibre # ebook reader
obs-studio
cytoscape
element-desktop # 'official' gui matrix client
blender # AMAZING 3D MODELLING PROGRAMMM <3
session-desktop # idk silly chat app
# media
playerctl # mpris cli interface for media apps :3
qpwgraph
qbittorrent
syncplay # syncs media players
# games
r2modman # mod manager for lots of games!!
prismlauncher # minecraft launcher
bottles # wineprefix manager
# vr
sidequest # app store for sideloading onto vr headsets
slimevr # I LOVE MY SLIMES THEY ARE SO COOL x3333333333
slimevr-server # silly slimes!!!! <3
# gui settings apps
nwg-look # gtk 2 / 3 settings thing idc i hate gtk
pavucontrol # i wanna get rid of this but its audio control thing
rquickshare # android quick share (this is pretty cool!!)
# wayland desktop tools / de / wm stuff / gui stuffs
cliphist
wl-clipboard
wl-clip-persist
grim # screenshot tool!!
slurp # used to crop the screenshots!!
swappy # screenshot edit tool (also there is: satty, flameshot)
hyprpicker # color picker!!!
hyprcursor # hyprland cursor util
wtype # can emulate keybinds
wlrctl # can emulate mouse stuff
mpvpaper # can use videos as wallpapers :3
# misc
kdePackages.qtwayland
kdePackages.qtsvg
adwaita-icon-theme
libadwaita
gnome-themes-extra
arch-install-scripts
xcur2png
alsa-utils
gphoto2 # for my dslr!!!
ffmpeg
];
programs = {
gpg.enable = true;
git = {
enable = true;
settings = {
user = {
name = "aurora";
email = "aurora@example.com";
};
gpg.program = "gpg2";
# delta diff viewer
core.pager = "delta";
interactive.diffFilter = "delta --color-only";
delta = {
navigate = true;
line-numbers = true;
side-by-side = true;
};
merge.conflictStyle = "zdiff3";
};
includes = [
{
condition = "hasconfig:remote.*.url:git@github.com:*/**";
contents = {
user = {
name = "auroraveon";
email = "78045343+auroraveon@users.noreply.github.com";
};
};
}
{
condition = "hasconfig:remote.*.url:https://github.com/**";
contents = {
user = {
name = "auroraveon";
email = "78045343+auroraveon@users.noreply.github.com";
};
};
}
{
condition = "hasconfig:remote.*.url:ssh://git@codeberg.org/**";
contents = {
user = {
name = "foxxyora";
email = "foxxyora@noreply.codeberg.org";
};
};
}
{
condition = "hasconfig:remote.*.url:https://codeberg.org/**";
contents = {
user = {
name = "foxxyora";
email = "foxxyora@noreply.codeberg.org";
};
};
}
{
condition = "hasconfig:remote.*.url:ssh://forgejo@forge.dobutterfliescry.net:2222/**";
contents = {
user = {
name = "foxora";
email = "foxora@noreply.forge.dobutterfliescry.net";
};
};
}
{
condition = "hasconfig:remote.*.url:https://forge.dobutterfliescry.net/**";
contents = {
user = {
name = "foxora";
email = "foxora@noreply.forge.dobutterfliescry.net";
};
};
}
];
};
kitty = {
enable = true;
package = pkgs.kitty;
font = {
name = "DepartureMono Nerd Font Mono";
size = 10;
};
settings = {
scrollback_lines = 16384;
enable_audio_bell = false;
update_check_interval = 0;
allow_remote_control = "yes"; # used for scripts to control kitty
confirm_os_window_close = 0; # disable close window prompt
};
extraConfig = ''
include ~/.config/kitty/theme.conf
'';
};
zen-browser = {
enable = true;
package = inputs.zen.packages."${pkgs.stdenv.hostPlatform.system}".twilight;
};
mpv = {
enable = true;
config = {
profile = "gpu-hq";
loop-file = "inf";
target-colorspace-hint = "no"; # stops mpv from turning hdr on when fullscreened
};
};
};
# Environment / Session Variables
home = {
sessionVariables = {
NIXOS_OZONE_WL = "1";
};
};
# The state version is required and should stay the version you originally installed
home.stateVersion = "24.11";
}