Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/panadestein/nixos-config
A minimalist NixOS config
https://github.com/panadestein/nixos-config
dotfiles-linux functional-programming nix nixos nixos-configuration qtile xmonad
Last synced: about 2 months ago
JSON representation
A minimalist NixOS config
- Host: GitHub
- URL: https://github.com/panadestein/nixos-config
- Owner: Panadestein
- License: gpl-3.0
- Created: 2022-01-26T23:54:14.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-11T09:39:55.000Z (about 2 months ago)
- Last Synced: 2024-11-11T10:24:28.898Z (about 2 months ago)
- Topics: dotfiles-linux, functional-programming, nix, nixos, nixos-configuration, qtile, xmonad
- Language: Nix
- Homepage:
- Size: 11.2 MB
- Stars: 11
- Watchers: 1
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE.md
Awesome Lists containing this project
README
* Panadestein's Nix/NixOS Configuration
#+BEGIN_HTML
#+END_HTMLWelcome to my personal flake [[https://nixos.org/][Nix/NixOS]] configuration, powered by [[https://nix-community.github.io/home-manager/][home-manager]]. This configuration
is designed to be production-ready (according to my personal requirements) and comes with the [[https://xmonad.org/][xmonad]] and [[https://qtile.org/screenshots/][Qtile]]
tiling window managers. Additionally, I have a declarative configuration for the [[https://release.gnome.org/][gnome]]
desktop environment, although it's not my primary environment.** Remarks:
This configuration is specifically tailored for AMD hardware, hence, modifications might
be necessary to suit other machines.*** Using flakes
Nix [[https://www.tweag.io/blog/2020-07-31-nixos-flakes/][flakes]] is the preferred way to utilize this configuration. The use of flakes enhances the reproducibility
of the system and enables seamless support for multiple machines via the =flake.nix= file.**** NixOS
My NixOS machine is called [[https://en.wikipedia.org/wiki/Cyrus_Smith][cyrus]]. Here I build the home and system configuration together as follows:
#+begin_src bash
sudo nixos-rebuild --flake .# switch
#+end_srcUpgrading the system implies updating the inputs one at the time:
#+begin_src bash
sudo nix flake lock --update-input
#+end_srcor all of them together:
#+begin_src bash
nix flake update
#+end_src**** Non-NixOS
I maintain a second configuration for non-NixOS hosts (tested in Guix System so far), which is
called [[https://en.wikipedia.org/wiki/Atabey_(goddess)][atabey]]. Here I build only the home configuration:#+begin_src bash
nix build .#
./result/activate
#+end_src*** Using nix-channels
The flake configuration can be easily transformed into a non-flake, channel based one.
For example, if you want to use the =nixos-unstable= you could do:#+begin_src bash
sudo nix-channel --add https://nixos.org/channels/nixos-unstable nixos
sudo nixos-rebuild switch --upgrade
#+end_srcWhen using a hybrid workflow (e.g. to keep using =nix-shell= in a flake system)
it is important to update the channels without rebuilding:#+begin_src bash
nix-channel --update
#+end_src