mirror of
https://github.com/librephoenix/nixos-config
synced 2025-01-19 07:05:51 +05:30
53 lines
2.6 KiB
Org Mode
53 lines
2.6 KiB
Org Mode
|
#+title: User-level Nix Modules
|
||
|
#+author: Emmet
|
||
|
|
||
|
** User-level Nix Modules
|
||
|
Separate Nix files can be imported as modules using an import block:
|
||
|
#+BEGIN_SRC nix
|
||
|
imports = [ import1.nix
|
||
|
import2.nix
|
||
|
...
|
||
|
];
|
||
|
#+END_SRC
|
||
|
|
||
|
My user-level Nix modules are organized into this directory:
|
||
|
- [[./app][app]] - Apps or collections of apps bundled with my configs
|
||
|
- [[./app/browser][browser]] - Used to set default browser
|
||
|
- [[./app/dmenu-scripts][dmenu-scripts]]
|
||
|
- [[./app/doom-emacs][doom-emacs]]
|
||
|
- [[./app/flatpak][flatpak]] - Installs flatpak as a utility (flatpaks must be installed manually)
|
||
|
- [[./app/games][games]] - Gaming setup
|
||
|
- [[./app/git][git]]
|
||
|
- [[./app/keepass][keepass]]
|
||
|
- [[./app/ranger][ranger]]
|
||
|
- [[./app/terminal][terminal]] - Configuration for terminal emulators
|
||
|
- [[./app/virtualization][virtualization]] - Virtualization and compatability layers
|
||
|
- [[./bin][bin]] - My own scripts
|
||
|
- [[./bin/phoenix.nix][phoenix]] - My nix command wrapper
|
||
|
- [[./lang][lang]] - Various bundled programming languages
|
||
|
- I will probably get rid of this in favor of a shell.nix for every project, once I learn how that works
|
||
|
- [[./pkgs][pkgs]] - "Package builds" for packages not in the Nix repositories
|
||
|
- [[./pkgs/pokemon-colorscripts.nix][pokemon-colorscripts]]
|
||
|
- [[./pkgs/rogauracore.nix][rogauracore]] - not working yet
|
||
|
- [[./pkgs/ytsub.nix][ytsub]]
|
||
|
- [[./shell][shell]] - My default bash and zsh configs
|
||
|
- [[./shell/sh.nix][sh]] - bash and zsh configs
|
||
|
- [[./shell/cli-collection.nix][cli-collection]] - Curated useful CLI utilities
|
||
|
- [[./style][style]] - Stylix setup (system-wide base16 theme generation)
|
||
|
- [[./wm][wm]] - Window manager, compositor, and/or wayland compositor setups
|
||
|
- [[./wm/xmonad][xmonad]]
|
||
|
- [[./wm/picom][picom]]
|
||
|
|
||
|
** Variables imported from flake.nix
|
||
|
Variables can be imported from [[../flake.nix][flake.nix]] by setting the =extraSpecialArgs= block inside the flake (see [[../flake.nix][my flake]] for more details). This allows variables to merely be managed in one place ([[../flake.nix][flake.nix]]) rather than having to manage them in multiple locations.
|
||
|
|
||
|
I currently import the following variables to the system config:
|
||
|
- =myName= - Username
|
||
|
- =myHomeDir= - Absolute path to home directory derived from =myName=
|
||
|
- =myEmail= - Email
|
||
|
- =myDotfilesDir= - Path to my dotfiles directory on the system
|
||
|
- =myTheme= - base16 theme stored in ../themes to be used
|
||
|
- =myThemePolarity= - whether theme is =light= or =dark=
|
||
|
- =myBackgroundUrl= - Direct link to background wallpaper (used for login screen)
|
||
|
- =myBackgroundSha256= - Checksum for background image used when downloading
|