My public NixOS configuration https://jalil.salame.cl/configuration.nix
Find a file
github-actions[bot] 898ab572c1
flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/1c2acec99933f9835cc7ad47e35303de92d923a4' (2024-03-20)
  → 'github:nix-community/home-manager/c0ef0dab55611c676ad7539bf4e41b3ec6fa87d2' (2024-03-28)
• Updated input 'neovim-nightly':
    'github:nix-community/neovim-nightly-overlay/278fc96760142b5e569636776344f3af16e281ee' (2024-03-22)
  → 'github:nix-community/neovim-nightly-overlay/6a5e80c188d3f3763a624df1610294b4a11764a0' (2024-03-29)
• Updated input 'neovim-nightly/neovim-flake':
    'github:neovim/neovim/15c6909bb198ca8a1a22405a4a7e96357716e57e?dir=contrib' (2024-03-21)
  → 'github:neovim/neovim/e2224a7933b6e30ab6efb0b7ad4e3f26da57c226?dir=contrib' (2024-03-28)
• Updated input 'nixos-hardware':
    'github:NixOS/nixos-hardware/1e679b9a9970780cd5d4dfe755a74a8f96d33388' (2024-03-18)
  → 'github:NixOS/nixos-hardware/9a763a7acc4cfbb8603bb0231fec3eda864f81c0' (2024-03-25)
• Updated input 'nixpkgs':
    'github:NixOS/nixpkgs/20f77aa09916374aa3141cbc605c955626762c9a' (2024-03-21)
  → 'github:NixOS/nixpkgs/2726f127c15a4cc9810843b96cad73c7eb39e443' (2024-03-27)
• Updated input 'nixvim':
    'github:nix-community/nixvim/4f6e90212c7ec56d7c03611fb86befa313e7f61f' (2024-03-20)
  → 'github:nix-community/nixvim/acb917fbf2bc9ce9c556516d8a1f257709b3cf1e' (2024-03-28)
• Updated input 'nixvim/devshell':
    'github:numtide/devshell/bc68b058dc7e6d4d6befc4ec6c60082b6e844b7d' (2024-03-11)
  → 'github:numtide/devshell/2d45b54ca4a183f2fdcf4b19c895b64fbf620ee8' (2024-03-22)
• Updated input 'nixvim/nix-darwin':
    'github:lnl7/nix-darwin/bcc8afd06e237df060c85bad6af7128e05fd61a3' (2024-03-17)
  → 'github:lnl7/nix-darwin/f0dd0838c3558b59dc3b726d8ab89f5b5e35c297' (2024-03-28)
• Updated input 'pre-commit-hooks':
    'github:cachix/pre-commit-hooks.nix/e611897ddfdde3ed3eaac4758635d7177ff78673' (2024-03-20)
  → 'github:cachix/pre-commit-hooks.nix/7d47a32e5cd1ea481fab33c516356ce27c8cef4a' (2024-03-27)
2024-03-29 13:07:36 +01:00
.github/workflows feat(ci): Enable cache in pull requests 2024-03-17 00:35:40 +01:00
docs feat(nvim): Provide an nixvim standalone config 2024-03-03 15:20:42 +01:00
home fix(home): Breaking updates to home-manager 2024-03-17 00:17:37 +01:00
machines fix(libra): Reenable dcdebugmask 2024-02-20 18:01:50 +01:00
nvim fix(nvim): Nixvim trouble module options rework 2024-03-26 21:05:25 +01:00
system feat: Add jconfig.dev.enable option 2024-03-02 18:56:30 +01: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 feat: Add a bunch of precommit hooks 2024-01-15 23:59:15 +01:00
.typos.toml feat(nvim): Add noice plugin (very nice) 2024-03-04 22:20:15 +01:00
flake.lock flake.lock: Update 2024-03-29 13:07:36 +01:00
flake.nix feat(devShell): Add QEMU_OPTS_WL env var 2024-03-26 20:59:36 +01:00
justfile feat: Add justfile with common commands 2024-03-01 08:24:07 +01:00
LICENSE feat: Add license 2024-01-14 18:04:01 +01:00
README.md feat(devShell): Add QEMU_OPTS_WL env var 2024-03-26 20:59:36 +01: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 commands:

$ nix run nixpkgs#nixos-rebuild -- build-vm --flake .#vm
building the system configuration...

Done.  The virtual machine can be started by running /nix/store/$hash-nixos-vm/bin/run-nixos-vm
$ /nix/store/$hash-nixos-vm/bin/run-nixos-vm $QEMU_OPTS_WL

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.