314 lines
8.3 KiB
Nix
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";
|
|
}
|