2023-04-23 05:50:54 +05:30
|
|
|
#+title: NixOS Config
|
2023-06-06 00:45:48 +05:30
|
|
|
#+author: Emmet
|
2023-04-23 02:29:37 +05:30
|
|
|
|
2023-05-06 17:46:35 +05:30
|
|
|
[[https://gitlab.com/librephoenix/nixos-config][Main Repo Link (GitLab)]]
|
|
|
|
|
|
|
|
[[https://github.com/librephoenix/nixos-config-mirror][Mirror Repo Link (GitHub)]]
|
|
|
|
|
2023-06-11 20:56:47 +05:30
|
|
|
** What is this repository?
|
2023-06-02 03:30:22 +05:30
|
|
|
These are my dotfiles (configuration files) for my NixOS setup(s).
|
2023-04-23 02:29:37 +05:30
|
|
|
|
2023-06-07 07:42:31 +05:30
|
|
|
Here is my main setup:
|
|
|
|
[[themes/ayu-dark/ayu-dark.png]]
|
|
|
|
|
2023-06-11 20:56:47 +05:30
|
|
|
** Install
|
|
|
|
I wrote some reinstall notes for myself [[./install.org][here (install.org)]].
|
2023-04-23 02:29:37 +05:30
|
|
|
|
2023-06-11 20:56:47 +05:30
|
|
|
** Modules
|
|
|
|
Separate Nix files can be imported as modules using an import block:
|
|
|
|
#+BEGIN_SRC nix
|
|
|
|
imports = [ import1.nix
|
|
|
|
import2.nix
|
|
|
|
...
|
|
|
|
];
|
2023-06-02 03:30:22 +05:30
|
|
|
#+END_SRC
|
|
|
|
|
2023-06-21 08:33:43 +05:30
|
|
|
This conveniently allows configurations to be (*cough cough) /modular/ (ba dum, tssss).
|
2023-06-07 07:42:31 +05:30
|
|
|
|
2023-06-11 20:56:47 +05:30
|
|
|
I have my modules separated into two groups:
|
|
|
|
- System-level - stored in the [[./system][system directory]]
|
2023-06-21 08:33:43 +05:30
|
|
|
- System-level modules are imported into configuration.nix, which is what is sourced into [[./flake.nix][my flake (flake.nix)]]
|
2023-06-11 20:56:47 +05:30
|
|
|
- User-level - stored in the [[./user][user directory]] (managed by home-manager)
|
2023-06-21 08:33:43 +05:30
|
|
|
- User-level modules are imported into home.nix, which is also sourced into [[./flake.nix][my flake (flake.nix)]]
|
2023-05-20 07:33:38 +05:30
|
|
|
|
2023-06-11 20:56:47 +05:30
|
|
|
More detailed information on these specific modules are in the [[./system][system directory]] and [[./user][user directory]] respectively.
|
2023-06-21 08:33:43 +05:30
|
|
|
|
|
|
|
** Profiles
|
|
|
|
I separate my configurations into [[./profiles][profiles]] (essentially system templates), i.e:
|
|
|
|
- [[./profiles/personal][Personal]] - What I would run on a personal laptop/desktop
|
|
|
|
- [[./profiles/work][Work]] - What I would run on a work laptop/desktop (if they let me bring my own OS :P)
|
|
|
|
- [[./profiles/homelab][Homelab]] - What I would run on a server or homelab
|
|
|
|
|
|
|
|
My profile can be conveniently selected in [[./flake.nix][my flake.nix]] by setting the =profile= variable.
|
|
|
|
|
|
|
|
More detailed information on these profiles is in the [[./profiles][profiles directory]].
|