NixOS configuration currently managing
- Adamantite, My M2 MacBook Air, running NixOS under asahi
- Beskar, My Desktop using nixpkgs-unstable for everything
- Eridium, My 2018 MacBook Pro, with a T2 security chip.
- Uru, My temporary server, an old Mac Mini, with a T2 security chip.
colors.nix: Colorscheme configurationflake.nix: Flake defining my configurationshome-manager: Home-manager modulesnixos: NixOS configuration modulessecrets: Git-crypt encrypted secretswallpapers: All the wallpapers that I use, used forsddmandswww
I use colors.nix and inherit a theme to change colors. Call a certain color
with ${theme.current.<color>}. I will try to stick with these colors to make
changing theme easier:
accent(main accent)- For gruvbox I use light yellow and for catppuccin I use mauve.
accent2(secondary accent)- For gruvbox I use dark yellow and for catppuccin I use pink.
text1(main text)text2(secondary text, slightly darker)text3(tertiary text, much darker)base1(main background color)base2(secondary background color, slightly darker)surface0(surface color, brighter than base)overlay0(overlay color)overlay1(brighter overlay color)
These colors are also used on occasion. Primarily for decoration elements like waybar and swaylock.
base3(tertiary background color, much darker, using for swaylock)surface1(brighter surface color)surface2(brightest surface color)overlay2(brightest overlay color)red(using for swaylock mainly)orange(using for swaylock)cyan(using for swaylock)blue(using for swaylock and waybar)sky(using for waybar)teal(using for waybar)light-blue(using for waybar)yellow(using lots for waybar)green(using for waybar)
Some colors are modified additionally for RGBA in certain spots. These are mainly for niri at the moment, for focus ring for inactive windows (mainly when niriswitcher is focused) and for dynamic casting stuff. Wezterm is also weird because it has built in color schemes so I'll replace the colors I can and then maybe fix it another time.
Most of my scripts are baked into certain configuration files.
This includes my random-wallpaper script which uses swww and runs as a systemd
service to randomize my wallpaper once per hour and my small calendar opening
script because xdg-open is mean to niri.
I also have a few rofi scripts inside of home-manager/desktop-core/rofi.
web-search.shSearch things on ddg and for nix options and packages. You can add more URLs quite easily.google.shUsed to quickly open my calendar, drive and mail. Thunderbird just isn't very good in my experience.rofi-power-menuSmall script to give me power options. Credit goes to jluttine Thank god for this one because I could not have done it myself!niri-action.shUsed to run niri msg actions that I don't have easy keyboard access to.
Many of the catppuccin wallpapers are from Simon Stålenhag, his website can be found
here, and from two git repos:
zhichaohs
catppuccin-wallpapers
repo forked from vipinVIP/wallpapers and notAxons
wallpapers repo.
The remainder are my own photographs.
For gruvbox I am also using may Simon Stålenhag wallpapers, but also a lot of wallpapers found on this website.
The niri msg rofi menu is taken from my friend Xenia 🥺
I generate the zsh folder within this directory, so I ignore /zsh but zsh
sucks so I still need to have a .zshenv file in my home directory.
Yes I use home-manager for my server, I really really really really need it I promise (i do not)
Yea it's weird I call it "Colors" at this point considering it's used for almost all my theming. Thank god for my awesome girlfriend telling me I shuold just handle theme stuff like this instead of having a bunch of long if statements like I did originally. Those were gross and bad and this is cool and awesome. Anyways it should be pretty extensible as long as you're a bit liberal with color schemes to fit into this scheme.
I use both vim config and lua config under program.neovim to set options. This
is because I'm stupid and now I find it too funny to change back so it stays. I
also handle autocmd stuff for markdown in vimscript because i just don't know
how to do it in lua sorgy ^^.
I'm like 90% sure the way I handle transparency in neovim is just like way too overcomplicated but it works so I'm rolling with it.
I use like only emoji completion ngl I have in the past just had cmp installed for emojis and am considering getting rid of the rest again because I just don't use them very much.
I use programs.neovim.extraPackages for language servers. I think this is
awesome and cool 🐈
My google.sh script sort of depends on you having a work and personal google
account and signing into your personal one first. I would not hardcode this if I
could but I thought this would be neat to have so I surrendered to it.