forked from foxora/nix
i kinda forgot to test bookokrat.. but basically it didnt work because bookokrat's flake doesnt compile and it isnt on nixpkgs either
335 lines
8.7 KiB
Nix
335 lines
8.7 KiB
Nix
# aurora's configgg!! :333
|
|
# trans <3
|
|
{
|
|
config,
|
|
inputs,
|
|
upkgs,
|
|
mpkgs,
|
|
root,
|
|
system,
|
|
...
|
|
}:
|
|
{
|
|
imports = [
|
|
inputs.zen.homeModules.twilight
|
|
|
|
../modules/programs/alacritty/default.nix
|
|
../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/mango/default.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 = {
|
|
EDITOR = "avix";
|
|
|
|
# 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
|
|
|
|
NIXOS_OZONE_WL = "1";
|
|
};
|
|
|
|
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;
|
|
};
|
|
|
|
# copies the ascii art into .local/share/ascii-art :3
|
|
home.file.".local/share/ascii-art" = {
|
|
source = root + "/homes/data/ascii-art";
|
|
recursive = true;
|
|
};
|
|
|
|
fonts.fontconfig.enable = true;
|
|
|
|
home.file.".mozilla/native-messaging-hosts/tridactyl.json".source =
|
|
"${upkgs.tridactyl-native}/lib/mozilla/native-messaging-hosts/tridactyl.json";
|
|
|
|
# some packages are enabled from their own module in ./modules
|
|
home.packages = with upkgs; [
|
|
gcr # provides org.gnome.keyring.SystemPrompter
|
|
dix # nix diff
|
|
|
|
# fonts
|
|
nerd-fonts.departure-mono # pretty pixel art font i love!! x3
|
|
nerd-fonts.jetbrains-mono
|
|
|
|
# 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
|
|
# FIX: its fucking broken: https://github.com/NixOS/nixpkgs/pull/494721
|
|
mpkgs.libreoffice-qt # word, excel, pdf etc open source programs
|
|
hunspell # spell checker
|
|
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
|
|
nix-index
|
|
];
|
|
|
|
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://git@tearforge.net:2222/**";
|
|
contents = {
|
|
user = {
|
|
name = "foxora";
|
|
email = "foxora@noreply.tearforge.net";
|
|
};
|
|
};
|
|
}
|
|
{
|
|
condition = "hasconfig:remote.*.url:https://tearforge.net/**";
|
|
contents = {
|
|
user = {
|
|
name = "foxora";
|
|
email = "foxora@noreply.tearforge.net";
|
|
};
|
|
};
|
|
}
|
|
];
|
|
};
|
|
|
|
lazygit = {
|
|
enable = true;
|
|
settings = {
|
|
git.pagers = [
|
|
{
|
|
colorArg = "always";
|
|
pager = "delta --dark --pager=never --line-numbers --side-by-side";
|
|
}
|
|
];
|
|
};
|
|
};
|
|
|
|
foot = {
|
|
enable = true;
|
|
|
|
settings = {
|
|
main = {
|
|
font = "DepartureMono Nerd Font Mono:size=10";
|
|
include = "/home/${config.home.username}/.config/foot/theme.ini";
|
|
};
|
|
scrollback = {
|
|
lines = 131072;
|
|
};
|
|
bell = {
|
|
system = "no";
|
|
urgent = "no";
|
|
notify = "no";
|
|
visual = "no";
|
|
};
|
|
};
|
|
};
|
|
|
|
zen-browser = {
|
|
enable = true;
|
|
package = inputs.zen.packages.${system}.twilight;
|
|
suppressXdgMigrationWarning = true;
|
|
};
|
|
|
|
mpv = {
|
|
enable = true;
|
|
config = {
|
|
profile = "gpu-hq";
|
|
loop-file = "inf";
|
|
target-colorspace-hint = "no"; # stops mpv from turning hdr on when fullscreened
|
|
};
|
|
};
|
|
};
|
|
|
|
# The state version is required and should stay the version you originally installed
|
|
home.stateVersion = "24.11";
|
|
}
|