nix #11

Manually merged
geoffrey merged 113 commits from nix into main 2023-12-09 21:43:01 +01:00
Owner

An attempt at replacing all my (Ansible) scripts and misc configuration with Nix configuration.
The nix branch will slowly build Nix config and remove corresponding legacy stuff,
although neither will be fully working before a while.

Dropped support

  • Other package managers:
    Long gone are the days where I only had very little space and no proot support on a Debian,
    forcing me to create an overlay system in my home directoy.
    Nix can be installed even more anywhere than Arch, so let's just go for one single thing.
    We keep support for home install though.
    Maybe bsh will need its own config, but generation has been broken for years and I didn't complain, soo...

  • Termux API & root:
    Nix on Termux can be achieved with https://github.com/nix-community/nix-on-droid,
    however this doesn't seem to include tsu and termux-api.
    Oh well, I stopped doing ceazy things with that anyways.
    Maybe if I need to I could find an alternative.

  • ecryptfs:
    Orignally added because I was too lazy to reinstall the Manjaro shipped with my Pinebook.
    Since this will require a reinstall, no reason to not go FDE as well.
    Except maybe for boot speed, as I use it for on-call.

TODO

  • Learn about Nix / NixOS, see what could be worth replacing
  • Set up a minimal test environment to try NixOS
  • Convert as much legacy stuff as easily possible into Nix stuff
  • Test config on a test user on curacao (still under Arch)
  • Test config on a test user without /nix or root access (still under Arch)
  • Test config on a SD-card boot on pindakaas
  • Test config on a USB-boot on curacao
  • Convert remaining legacy stuff in private dotfiles extensions
  • Fix home-manager FIXME
  • Fix NixOS FIXME
  • Fix extensions FIXME
  • Automatic installation of dotfiles repositories on NixOS install
  • Re-test GRUB encryption on pindakaas
  • Test curcao on intensive graphical program
  • Proper testing of test configs
  • Migrate pindakaas
  • Migrate curacao
  • Migrate gho
  • Test Android
  • Have fun modifying the config
An attempt at replacing all my (Ansible) scripts and misc configuration with Nix configuration. The `nix` branch will slowly build Nix config and remove corresponding legacy stuff, although neither will be fully working before a while. ### Dropped support - Other package managers: Long gone are the days where I only had very little space and no proot support on a Debian, forcing me to create an overlay system in my home directoy. Nix can be installed even more anywhere than Arch, so let's just go for one single thing. We keep support for home install though. Maybe `bsh` will need its own config, but generation has been broken for years and I didn't complain, soo... - Termux API & root: Nix on Termux can be achieved with <https://github.com/nix-community/nix-on-droid>, however this doesn't seem to include `tsu` and `termux-api`. Oh well, I stopped doing ceazy things with that anyways. Maybe if I need to I could find an alternative. - ecryptfs: Orignally added because I was too lazy to reinstall the Manjaro shipped with my Pinebook. Since this will require a reinstall, no reason to not go FDE as well. Except maybe for boot speed, as I use it for on-call. ### TODO - [x] Learn about Nix / NixOS, see what could be worth replacing - [x] Set up a minimal test environment to try NixOS - [x] Convert as much legacy stuff as easily possible into Nix stuff - [x] Test config on a test user on curacao (still under Arch) - [x] Test config on a test user without `/nix` or root access (still under Arch) - [x] Test config on a SD-card boot on pindakaas - [x] Test config on a USB-boot on curacao - [x] Convert remaining legacy stuff in private dotfiles extensions - [x] Fix home-manager FIXME - [x] Fix NixOS FIXME - [x] Fix extensions FIXME - [x] Automatic installation of dotfiles repositories on NixOS install - [x] Re-test GRUB encryption on pindakaas - [x] Test curcao on intensive graphical program - [x] Proper testing of test configs - [x] Migrate pindakaas - [x] Migrate curacao - [x] Migrate gho - [x] Test Android - [x] Have fun modifying the config
geoffrey added the
enhancement
label 2023-10-22 22:33:39 +02:00
geoffrey added 3 commits 2023-10-22 22:33:40 +02:00
geoffrey force-pushed nix from 7f5dff0e20 to 3af998440f 2023-10-22 22:34:16 +02:00 Compare
geoffrey added 1 commit 2023-10-22 22:52:56 +02:00
Who would have thought, someone thought about this before me :shockedpikachu:
geoffrey added 1 commit 2023-10-23 22:06:47 +02:00
geoffrey added 1 commit 2023-10-24 21:48:47 +02:00
geoffrey added 1 commit 2023-10-24 23:54:23 +02:00
geoffrey added 1 commit 2023-10-25 00:28:17 +02:00
The options I use already seems to be default in NixOS.
I'm not sure about the backlight and the joystick,
keeping this around until I can confirm this is not needed.
geoffrey added 1 commit 2023-10-28 18:54:36 +02:00
It's, uh, a bit ugly.
But let's try to make it work for now, improve later.
Apparently my wpa_supplicant config file was visible for everyone
already, so that's not a regression :D
geoffrey added 1 commit 2023-10-28 19:34:06 +02:00
geoffrey added 5 commits 2023-10-29 01:03:37 +02:00
geoffrey added 1 commit 2023-10-29 01:05:56 +02:00
geoffrey added 1 commit 2023-10-29 12:16:26 +01:00
geoffrey added 1 commit 2023-10-29 19:16:51 +01:00
geoffrey force-pushed nix from 394bc86a54 to c3ad82c060 2023-10-29 19:18:17 +01:00 Compare
geoffrey force-pushed nix from c3ad82c060 to 068a8c9965 2023-11-01 09:17:48 +01:00 Compare
geoffrey added 1 commit 2023-11-01 09:47:17 +01:00
geoffrey added 5 commits 2023-11-02 19:52:37 +01:00
geoffrey added 1 commit 2023-11-02 19:55:56 +01:00
geoffrey added 2 commits 2023-11-03 01:38:15 +01:00
And wow, we're starting to get crazy here!
geoffrey added 3 commits 2023-11-03 21:29:18 +01:00
geoffrey added 9 commits 2023-11-05 23:19:34 +01:00
geoffrey added 1 commit 2023-11-06 23:13:33 +01:00
Basically added the whole file with little edits... sad :(
geoffrey added 2 commits 2023-11-07 23:18:05 +01:00
Also I was thinking of getting rid of bash but... I spent so much time
differentiating which options are for sh/bash/zsh that I don't feel like
losing this data for now.
geoffrey added 1 commit 2023-11-08 12:32:11 +01:00
geoffrey added 1 commit 2023-11-10 23:34:30 +01:00
geoffrey added 2 commits 2023-11-12 22:52:14 +01:00
geoffrey added 6 commits 2023-11-19 23:25:35 +01:00
geoffrey added 2 commits 2023-11-20 22:55:03 +01:00
geoffrey added 1 commit 2023-11-21 21:02:26 +01:00
geoffrey added 1 commit 2023-11-22 00:52:57 +01:00
geoffrey added 1 commit 2023-11-22 01:52:24 +01:00
geoffrey added 3 commits 2023-11-22 16:32:43 +01:00
geoffrey added 11 commits 2023-11-27 00:00:26 +01:00
Might need the same for HM config?
So that explains why quick-scope didn't work so far... but not why it
built without it.
The idea to create an image burnable on a SD card that is already
configured is a nice one, however I encountered many issues:

- Used something that was designed to be an installer:
    - Cannot change from unencrypted ext4 partition (AFAICS)
    - Comes with installer tools (i.e. tools for various filesystems),
      which creates conflicts
- Takes a lot of space and time to build, had to put /tmp on a non-tmpfs
- Has to extend the filesystem manually afterwards
- I think it rebuilt the full system on nixos-rebuilt anyways. Maybe
  because I used binfmt compilation? Could also be because installer has
  some overlays.

Since I had nix on Manjaro already, I surely could have built the
system directly on the SD card from there. Maybe that's what I will do
to test the partitionning/boot scheme setup actually.
They're a bit slower to start :(.
Hopefully this is something that flakes will help with,
otherwise I'll find another way.
Which means now I'll have to think about real prefixes in commit names.
geoffrey added 1 commit 2023-11-27 00:02:29 +01:00
geoffrey added 1 commit 2023-11-27 00:13:39 +01:00
geoffrey force-pushed nix from 76003a686c to 8cd906e6a2 2023-11-27 00:23:40 +01:00 Compare
geoffrey added 1 commit 2023-11-27 00:25:09 +01:00
geoffrey changed target branch from master to main 2023-11-27 00:25:12 +01:00
geoffrey changed target branch from main to master 2023-11-27 00:25:42 +01:00
geoffrey added 4 commits 2023-11-28 00:35:04 +01:00
This was a fix attempt before I discovered that the issue was that
nixos-install uses the root user's channels. Doesn't hurt anyways.
geoffrey added 4 commits 2023-11-29 23:06:25 +01:00
While I might still bikeshed how the rest of the configuration is
sourced, at least the import points should be stable.
It took 3 days to investigate by myself and only get a partial idea of
the issue, but 5 minutes to ask for support and another 5 to get a
working solution.
Hopefully lesson learned.
geoffrey added 6 commits 2023-11-30 20:44:44 +01:00
geoffrey added 6 commits 2023-12-02 18:05:59 +01:00
geoffrey added 1 commit 2023-12-02 18:51:08 +01:00
Say whaaaaat?
geoffrey added 3 commits 2023-12-02 22:45:23 +01:00
geoffrey added 1 commit 2023-12-02 22:47:40 +01:00
geoffrey added 1 commit 2023-12-04 22:47:27 +01:00
geoffrey added 2 commits 2023-12-05 23:12:21 +01:00
geoffrey added 2 commits 2023-12-08 19:02:48 +01:00
geoffrey added 4 commits 2023-12-09 00:45:53 +01:00
geoffrey added 1 commit 2023-12-09 17:35:20 +01:00
geoffrey changed target branch from master to main 2023-12-09 21:41:59 +01:00
geoffrey changed title from WIP: nix to nix 2023-12-09 21:42:12 +01:00
geoffrey manually merged commit 1876ddeb71 into main 2023-12-09 21:43:01 +01:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: geoffrey/dotfiles#11
No description provided.