My public NixOS configuration
Find a file
github-actions[bot] 7cb6c38202
All checks were successful
/ check (push) Successful in 24s
/ build (docs) (push) Successful in 2s
/ build (nixosConfigurations.vm.config.system.build.toplevel) (push) Successful in 1s
/ build (nvim) (push) Successful in 12s
[chore] flake.lock: update inputs
Flake lock file updates:

```
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/c5013aa7ce2c7ec90acee5d965d950c8348db751?narHash=sha256-G/OtEAts7ZUvW5lrGMXSb8HqRp2Jr9I7reBuvCOL54w%3D' (2024-07-11)
  → 'github:NixOS/nixos-hardware/bb90787ea034c8b9035dfcfc9b4dc23898d414be?narHash=sha256-h2yaU%2BQEU4pHxMySHPIsRV2T/pihDHnrXBca8BY6xgc%3D' (2024-07-18)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/249fbde2a178a2ea2638b65b9ecebd531b338cf9?narHash=sha256-IXMiHQMtdShDXcBW95ctA%2Bm5Oq2kLxnBt7WlMxvDQXA%3D' (2024-07-09)
  → 'github:NixOS/nixpkgs/c716603a63aca44f39bef1986c13402167450e0a?narHash=sha256-UBvzVpo5sXSi2S/Av%2Bt%2BQ%2BC2mhMIw/LBEZR%2Bd6NMjws%3D' (2024-07-17)
• Updated input 'nixvim':
    'github:nix-community/nixvim/53e85da2409ddfeef27e8cdc9c020433614329f9?narHash=sha256-TX7PZY80h22%2Bi01d2M1/50gfdzbvqYpmE7%2Bs13FJnJ4%3D' (2024-07-11)
  → 'github:nix-community/nixvim/55bda0cc3b230255d271e5eef82f3279dae9f859?narHash=sha256-W0%2Bl7HNzZfEmIx/1Yp3Tow/GZILVjrMjWfTt1Mos7mI%3D' (2024-07-17)
• Updated input 'nixvim/flake-parts':
    'github:hercules-ci/flake-parts/4e3583423212f9303aa1a6337f8dffb415920e4f?narHash=sha256-g5N1yyOSsPNiOlFfkuI/wcUjmtah%2BnxdImJqrSATjOU%3D' (2024-07-01)
  → 'github:hercules-ci/flake-parts/9227223f6d922fee3c7b190b2cc238a99527bbb7?narHash=sha256-pQMhCCHyQGRzdfAkdJ4cIWiw%2BJNuWsTX7f0ZYSyz0VY%3D' (2024-07-03)
• Updated input 'nixvim/git-hooks':
    'github:cachix/git-hooks.nix/0ff4381bbb8f7a52ca4a851660fc7a437a4c6e07?narHash=sha256-F1h%2BXIsGKT9TkGO3omxDLEb/9jOOsI6NnzsXFsZhry4%3D' (2024-06-24)
  → 'github:cachix/git-hooks.nix/8d6a17d0cdf411c55f12602624df6368ad86fac1?narHash=sha256-ni/87oHPZm6Gv0ECYxr1f6uxB0UKBWJ6HvS7lwLU6oY%3D' (2024-07-09)
• Updated input 'nixvim/treefmt-nix':
    'github:numtide/treefmt-nix/bdb6355009562d8f9313d9460c0d3860f525bc6c?narHash=sha256-p0B2r98UtZzRDM5miGRafL4h7TwGRC4DII%2BXXHDHqek%3D' (2024-07-02)
  → 'github:numtide/treefmt-nix/5b002f8a53ed04c1a4177e7b00809d57bd2c696f?narHash=sha256-f52x9srIcqQm1Df3T%2BxYR5P6VfdnDFa2vkkcLhlTp6U%3D' (2024-07-12)
• Updated input 'unstable':
    'github:NixOS/nixpkgs/feb2849fdeb70028c70d73b848214b00d324a497?narHash=sha256-ZgnNHuKV6h2%2BfQ5LuqnUaqZey1Lqqt5dTUAiAnqH0QQ%3D' (2024-07-09)
  → 'github:NixOS/nixpkgs/ad0b5eed1b6031efaed382844806550c3dcb4206?narHash=sha256-%2BW5eZOhhemLQxelojLxETfbFbc19NWawsXBlapYpqIA%3D' (2024-07-16)
```
2024-07-19 23:03:13 +02:00
.forgejo/workflows [feat] nvim: configure nvim-silicon 2024-06-16 22:21:12 +02:00
.github/workflows [fix] ci: update actions 2024-07-05 08:16:45 +02:00
docs [fix] fmt: change formatter to nixfmt-rfc-style 2024-07-04 22:33:55 +02:00
home [fix] fmt: change formatter to nixfmt-rfc-style 2024-07-04 22:33:55 +02:00
machines [fix] fmt: change formatter to nixfmt-rfc-style 2024-07-04 22:33:55 +02:00
nvim [fix] nvim: re-enable pylance 2024-07-16 23:13:36 +02:00
system [fix] fmt: change formatter to nixfmt-rfc-style 2024-07-04 22:33:55 +02:00
.editorconfig feat: Add editorconfig file 2024-01-21 20:56:10 +01:00
.envrc feat: Add a bunch of precommit hooks 2024-01-15 23:59:15 +01:00
.gitignore [feature] nix: switch to lix 2024-05-10 23:21:25 +02:00
.typos.toml feat(nvim): Add noice plugin (very nice) 2024-03-04 22:20:15 +01:00
flake.lock [chore] flake.lock: update inputs 2024-07-19 23:03:13 +02:00
flake.nix [chore] flake.nix: update lix to the full release 2024-07-11 16:50:13 +02:00
justfile [feature] justfile: add build-vm and run-vm commands 2024-05-05 14:35:52 +02:00
LICENSE feat: Add license 2024-01-14 18:04:01 +01:00
README.md [feature] justfile: add build-vm and run-vm commands 2024-05-05 14:35:52 +02:00

My NixOS Configuration as a NixOS module

This is only intended for my use, but you can see how I overengineer stuff by looking at it :p (maybe you can also learn some stuff on the way).

Note

This README only has a small amount of information, if you want to see the full documentation then go to https://jalil-salame.github.io/configuration.nix. I also overenginerd this c: (if you want to copy the docs for your own project, then take a look at the docs folder and the workflow(build-documentation and deploy)).

Try out in a VM

If you already have nix you can run the following command to try this configuration in a vm:

$ just run-vm

The default user is jdoe and the default password is example.

Note

$QEMU_OPTS_WL is a set of options that will enable Wayland passthrough (and GPU acceleration) and give the VM 2vCPU cores and 2GiB of RAM. This will significantly improve your experience when running the VM so it is recommended, but if Wayland is not available or you don't have enough memory/CPU cores, then you can use -virtio vga and/or reduce the allocated resources.