home

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit c6fc576bc73680d2260eb19e54244237ddfe2bce
parent 38ca1110fcb8c285cdd15b0df2994b0349c08aa2
Author: Vincent Demeester <vincent@sbr.pm>
Date:   Mon, 16 Nov 2020 18:37:36 +0100

Remove tasks.org and .gitmodules

Signed-off-by: Vincent Demeester <vincent@sbr.pm>

Diffstat:
D.gitmodules | 0
Dtasks.org | 944-------------------------------------------------------------------------------
2 files changed, 0 insertions(+), 944 deletions(-)

diff --git a/.gitmodules b/.gitmodules diff --git a/tasks.org b/tasks.org @@ -1,944 +0,0 @@ -#+TITLE: Home tasks -#+FILETAGS: #home infra configuration dotfiles - -* TODO [#A] systems/naruhodo gnome -:PROPERTIES: -:CREATED:[2020-06-25 Thu 05:38] -:END: - -- no desktop profile -- gnome3 - + how "sane" and stable is gnome on nixos ? -- check how close to fedora we can get - + goal being : use nixos on naruhodo, have fedora as a lightweight VM - + need to identify requirements on naruhodo - - package list - - features (sharing, xorg/wayland,vpn, kerberos) - -I need naruhodo setup on hokkaido as much automated as possible. - -** TODO Initial repositories setup - -- NixOS/nixpkgs -- src/home -- src/github.com/tektoncd -- src/github.com/openshift -- … - -Using =mr= for this - -** TODO Manage =~/sync/*= links - -kubeconfig, … -#+begin_src bash -ln -s ~/desktop/documents/.oath ~/.oath -#+end_src - -** TODO Yubikey login/lockout - -security.pam.yubico -u2f keys - -** DONE gnome3 modules -CLOSED: [2020-10-12 Mon 12:23] -:LOGBOOK: -- State "DONE" from "TODO" [2020-10-12 Mon 12:23] -:END: - -Create a module (like desktop) or part of desktop - -** DONE redhat specifics -CLOSED: [2020-10-02 Fri 18:38] -:LOGBOOK: -- State "DONE" from "TODO" [2020-10-02 Fri 18:38] -:END: - -VPN - -** CANCELED [[git:~/src/home/tasks.org::master@{2020-07-09}::158][Reset systems at boot]] -CLOSED: [2020-10-12 Mon 12:23] -:LOGBOOK: -- State "CANCELED" from "TODO" [2020-10-12 Mon 12:23] \\ - No need, it's nice and all but… meh -:END: - -- =root= -- =home= - -** TODO Initial setup - -- luks -- =nixos-install= to =make switch= … - -** TODO Dry-install on old Dell - -Things to test: - -- [ ] luks -- [-] Erase your darlings setup ? -- [X] Gnome settings -- [ ] Yubikey - + login/logout - + gpg setup -- [X] Red Hat VPN connection - -** DONE Initial gnome3 setup -CLOSED: [2020-06-29 Mon 18:11] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-29 Mon 18:11] -:END: - -** DONE unstable vs 20.09 -CLOSED: [2020-09-30 Wed 11:23] -:LOGBOOK: -- State "DONE" from "TODO" [2020-09-30 Wed 11:23] -:END: - -Currently, hokkaido is setup based on unstable.. should we go back to 20.09 ? -Let's try as is, and see if it's a pain in the butt or not - -** DONE Fix emacs server service -CLOSED: [2020-10-02 Fri 17:31] -:LOGBOOK: -- State "DONE" from "TODO" [2020-10-02 Fri 17:31] -:END: - -** DONE Add gnome3 extensions -CLOSED: [2020-10-02 Fri 12:05] -:LOGBOOK: -- State "DONE" from "TODO" [2020-10-02 Fri 12:05] -:END: - -- [-] pomodoro (fixing it ?) -- [X] [[https://github.com/bjarosze/gnome-bluetooth-quick-connect][bluetooth quick connect]] -- [-] [[https://framagit.org/abakkk/DrawOnYourScreen][draw on you screen]] -- [X] [[https://github.com/mlutfy/hidetopbar][hide top bar]] -- [X] [[https://github.com/sindex/no-annoyance][noannoyance]] -- [X] pop-os/shell -- [X] tilingnome -- [X] sound-output-device-chooser -- [-] transparent gnome panel - -** DONE Enable bolt -CLOSED: [2020-10-02 Fri 12:03] -:LOGBOOK: -- State "DONE" from "TODO" [2020-10-02 Fri 12:03] -:END: - -** DONE gnome settings -CLOSED: [2020-10-01 Thu 18:11] -:LOGBOOK: -- State "DONE" from "TODO" [2020-10-01 Thu 18:11] -:END: - -Check how to do this (dconf, gsettings/gconf) - -- [X] keyboard shortcuts -- [X] terminal/tilix profiles (colors, …) -- [-] No getting started -- [-] other settings - -Extract from naruhodo, clean and try it out in nixos - -** DONE fix GnuPG setup (with yubikey) -CLOSED: [2020-10-01 Thu 18:12] -:LOGBOOK: -- State "DONE" from "TODO" [2020-10-01 Thu 18:12] -:END: - - -* TODO [#B] Create a custom iso for easier install - -Embedding the install scripts and some helpers for secrets ? - -** TODO bootstrap.nix (and install.nix) - -Reduce the sh script to the minimum and use =nix-shell= with a =.nix= file as much as -possible. -To run the install script from a NixOS livecd, =nix-shell= can be used, same in bootstrap -as soon as we have installed nix. - - -* TODO Emacs org-agenda refactoring - -Remove the usage of =org-super-agenda= and use standard org feature. This is part of a -simplify your setup move. - -* TODO Upgrade docker to 20.xx - -* TODO [#B] Emacs shell environment :emacs: - -The "main" problem with =eshell= is piping and redirection… kinda problematic with -kubectl/oc/… - -** TODO Enhance eshell - -- Better prompt -- More functions -- Better completion (pcomplete, …) - -** TODO More vterm - -Make vterm more useful -- bind vterm-other-window -- bind a vterm-other-window but in full window 🙃 - -** TODO Less zsh-only wonders - -more generic stuff - -** TODO More emacs functions ? - -* TODO [#B] Fedora virt-machine (buildable) - -Have a fedora machine ready to run (setup and all, automated of course) - -* TODO [#B] better overlays - -- [ ] =default.nix= to import others -- [ ] =pkgs= and overlay smooth integration (aka no prefix =my=) -- [ ] does =nur= still works with my setup ? - -* TODO [#B] Automate =home= pkgs updates -:PROPERTIES: -:CREATED:[2020-01-19 Sun 12:32] -:END: - -- Why :: It would require less manual work from me 👼 -- What :: Update the =-git= or =-unstable= packages *and* any package when there is a new - version tagged/released if possible -- How :: Using a bot, like https://gitlab.com/rybot - -=nix-update= allows to bump release package (and doesn't work when having multiple version -of the same). - -** TODO nur-package automatic -git package updates -:PROPERTIES: -:CREATED:[2020-04-30 Thu 20:58] -:END: - -For packages that track master, create a =-git= version and have an automate that is able -to update those daily (or weekly ?), using =nix-update= (and maybe more for modSha256) - -*** TODO [[https://berfr.me/posts/watch-diff/][watch-diff: Watch command output and get notified on changes | berfr blog]] -[2020-05-07 Thu 16:42] - -*** TODO [[https://www.nmattia.com/posts/2019-09-10-autoupdate.html][Nicolas Mattia – Triggered CI Builds: Automatically Update your Project's Dependencies]] -[2019-10-15 Tue 08:24] - -* TODO pkgs, nur and overlay - -Take inspiration from there : -- https://gitlab.com/rycee/nur-expressions/tree/master - -(versions, …) - - -* TODO Manage firefox in home-manager - -- See [[https://cmacr.ae/post/2020-05-09-managing-firefox-on-macos-with-nix/][Managing Firefox on macOS with Nix - Calum MacRae]] -- Create a post for it (or put it in the docs) - -- [[https://rakhim.org/2018/10/improve-performance-of-firefox-on-macos/][Make Firefox faster and nicer on macOS - Rakhim.org]] - Really useful tip, I should do the same with my own (aka an ode to firefox) -- Look at current customization on naruhodo (and wakasu) -- Containers setup (sync) - -* TODO pkgs: support stdenv.isLinux, … - -stdenv.lib.optionals stdenv.isLinux - -It is only require whenever I will target darwin :D - -* TODO git.sbr.systems - -Mirrors 👼 -cgit or custom - -This needs to be: -- the simplest possible -- fast (aka I don't want to wait on git push) -- work in and outside home (vpn) - -* TODO More defaults in configuration - -In [[https://hugoreeves.com/posts/2019/nix-home/][Your home in Nix (dotfile management) - Hugo Reeves]] he defines some defaults (in nix -even) and allow his modules to overwrite the defaults. - -This is very good because it allows to customize some small parts of the configuration -only for specific host — this will reduce duplication. - - -* TODO Add home-manager hook to update ~/etc/hosts~ -:PROPERTIES: -:CREATED:[2019-07-05 Fri 16:23] -:END: - -- Why :: on NixOS this is managed in =home= and applied easily. On non-NixOS systems, - there is no easy way to do that -- What :: Append / Rewrite =/etc/hosts= with the content of a file (coming from h-m) -- How :: See what tool do that, or write your own simple one (using special comments to - know where to overwrite the file). Use whatever language (lisp, haskell, go, rust, - python, …) -* TODO install ~nixos-generate~ on machines -:LOGBOOK: -- Rescheduled from "[2019-07-11 Thu]" on [2019-07-11 Thu 16:09] -- Rescheduled from "[2019-07-09 Tue]" on [2019-07-09 Tue 19:12] -:END: -:PROPERTIES: -:CREATED:[2019-07-02 Tue 20:27] -:END: - -- Why :: be able to easly create custom install isos and other outputs (oci images, do - droplet images, …) -- How :: create a package -* TODO Build and use more NixOS container - -See https://github.com/google/nixery (layered, )… - -* TODO [[https://github.com/Mic92/nixos-shell][Mic92/nixos-shell: Spawns lightweight nixos vms in a shell]] :nixos: -[2020-04-16 Thu 12:46] - -Very interesting concept :) - -* TODO [#C] Reset systems at boot - -- Looking at https://github.com/nix-community/impermanence -- Test on hokkaido, replicate on others -- *Use encryption* - -** [[https://grahamc.com/blog/erase-your-darlings][Erase your darlings: immutable infrastructure for mutable systems - Graham Christensen]] -[2020-06-29 Mon 18:13] - -** [[https://mt-caret.github.io/blog/posts/2020-06-29-optin-state.html][Encypted Btrfs Root with Opt-in State on NixOS]] -[2020-06-29 Mon 17:44] - -** [[https://elis.nu/blog/2020/05/nixos-tmpfs-as-root/][NixOS ❄: tmpfs as root]] -[2020-06-29 Mon 17:46] - -** [[https://elis.nu/blog/2020/06/nixos-tmpfs-as-home/][NixOS ❄: tmpfs as home]] -[2020-06-29 Mon 17:46] - -* TODO [#C] Better wireguard support - -- support for creating key -- support for importing keys - -* TODO [#C] =qemu=/=kvm= setup to tests things - -- start a system with nixos iso (cache and download) -- start a system with nixos pre-installed (cached) -- start a system with fedora pre-installed (cached) - -- https://github.com/Xe/nixos-configs -- https://rycee.gitlab.io/home-manager/ -- [[https://www.tomas.io/articles/try-fedora][Try fedora | tomas.io]] - -Can be using =virsh= and =libvirt=. Maybe the best thing will be to use the test -capabilities of nixos itself. - -* TODO [#C] Experiment with deploy on remote machines - -** TODO [[https://github.com/misuzu/nix-simple-deploy][misuzu/nix-simple-deploy: A Rust rewrite of unmaintained nix-deploy.]] -[2020-04-24 Fri 14:44] - -Try this out with a NixOS VM. Idea would then be: -- Use this for okinawa, sakhalin, kerkouane, … - -** TODO [[https://github.com/DBCDK/morph][DBCDK/morph: NixOS deployment tool]] :nixos: -[2020-05-04 Mon 11:40] -* TODO [#C] migrate to enchant for spell checking - -This will allow to use hunspell, ispell, … - -- configure this is h-m and emacs - -* TODO [#C] Have a simple url for bootstrap/install scripts - -Using sbr.systems -- get.sbr.systems/install -- sbr.sytems/install sbr.systems/bootstrap -- install.sbr.system - -* TODO [#C] virtualization.buildkit options - -- [ ] with containerd, default is to use runc only - -* TODO [#C] Have a ~emacs.nix~ aware config :nixos:emacs: -:PROPERTIES: -:CREATED:[2019-03-16 Sat 11:57] -:END: - -1. Can be cloned, exec(d) and run as is (using ~nix~) -2. Can be run without ~nix~ (see ~bauer~) -3. Can put build and pushed to nix, making updates (~home-manager~) less verbose and long. - -From: [[file:~/desktop/org/technical/tekton-dev.org::*Environments][Environments]] -* CANCELED =ci.nix= build on multiple channels -CLOSED: [2020-05-22 Fri 13:55] -:LOGBOOK: -- State "CANCELED" from "TODO" [2020-05-22 Fri 13:55] \\ - This will be done differently -:END: -:PROPERTIES: -:CREATED:[2020-05-05 Tue 12:45] -:END: - -Automatic =nix-build . | cachix push shortbrain=, on nixos-unstable and nixpkgs-unstable too. - -From: [[eshell:*eshell nur-packages*:cd /home/vincent/src/github.com/vdemeester/nur-packages][cd /home/vincent/src/github.com/vdemeester/nur-packages]] - -* CANCELED make modules-list automatic -CLOSED: [2020-06-06 Sat 16:37] -:LOGBOOK: -- State "CANCELED" from "TODO" [2020-06-06 Sat 16:37] \\ - No need for now, using default everywhere -:END: - -Look at tazjin and other configurations, we can read tree and load/import all the nix -files. This will simplify =module-list.nix= and easy my pain. - -* CANCELED try =redo= on =src/home= -CLOSED: [2020-06-29 Mon 18:11] -:LOGBOOK: -- State "CANCELED" from "TODO" [2020-06-29 Mon 18:11] \\ - Because… I don't have time :D -:END: -:PROPERTIES: -:CREATED:[2020-06-23 Tue 17:45] -:END: - -It's easy to do with =nix-shell= anyway -** [[https://apenwarr.ca/log/20101214][The only build system that might someday replace make... - apenwarr]] -[2020-06-23 Tue 17:48] -* CANCELED [#B] Nix desktop VM :nixos: -CLOSED: [2020-07-09 Thu 18:50] -:LOGBOOK: -- State "CANCELED" from "TODO" [2020-07-09 Thu 18:50] \\ - Kinda done -:END: - -https://github.com/Xe/nixos-configs -https://rycee.gitlab.io/home-manager/ - -** DONE Specific simple configuration (bankruptcy) -CLOSED: [2020-07-09 Thu 18:50] -:LOGBOOK: -- State "DONE" from "TODO" [2020-07-09 Thu 18:50] -:END: - -** CANCELED Try gnome3 ? -CLOSED: [2020-07-09 Thu 18:49] -:LOGBOOK: -- State "CANCELED" from "TODO" [2020-07-09 Thu 18:49] -:END: -* DONE [#A] Reinstall wakasu -CLOSED: [2020-07-17 Fri 13:25] SCHEDULED: <2020-07-17 Fri> -:LOGBOOK: -- State "DONE" from "STARTED" [2020-07-17 Fri 13:25] -CLOCK: [2020-07-17 Fri 11:51]--[2020-07-17 Fri 13:25] => 1:34 -:END: - -* DONE [#A] Experiment with Xpra on NixOS (wakasu) -CLOSED: [2020-07-17 Fri 11:19] -:LOGBOOK: -- State "DONE" from "TODO" [2020-07-17 Fri 11:19] -:END: -:PROPERTIES: -:CREATED:[2020-06-22 Mon 18:39] -:END: - -On wakasu, in addition to VMs :) - -* DONE [#A] Move =tmp/nixos-configuration= to root -CLOSED: [2020-04-30 Thu 02:11] -:LOGBOOK: -- State "DONE" from "TODO" [2020-04-30 Thu 02:11] -:END: - -Have some variable to let modules know if they are from home-manager or not. -Maybe I can try on an test module - -First step is to import =machine/{hostname}.nixos.nix=. -For modules, it's a little bit tricker, but the first step is to have a separate nixos -module list. - -* DONE [#A] Add =.githooks= support -CLOSED: [2020-05-09 Sat 15:08] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-09 Sat 15:08] -:END: - -* DONE [#B] Update auto-update service -CLOSED: [2020-05-09 Sat 22:51] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-09 Sat 22:51] -:END: - -Make it simpler -- auto-update simple -- a nightly git pull --rebase … as *user* - -* DONE [#A] Decide on home-manager for NixOS -CLOSED: [2020-05-21 Thu 13:56] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-21 Thu 13:56] -:END: - -- Should we use home-manager as a nixos module when the host is NixOS ? -- Experiment with that on a clean setup (VM, …) -- If we pin channels, I feel it make sense :) - -As we are going to pin channel and use our =NIX_PATH= (based on =niv= files ; and later -most likely *flake*), we can safely assume we should be able to manage home-manager -through the nixos module. If I can use =nixos-rebuild …= as a user, it's even better. - -* DONE [#A] Where should be the cloned ? -CLOSED: [2020-06-05 Fri 15:27] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-05 Fri 15:27] -:END: - -That's a real interesting question. -The next question is then, what do we do with the existing setup ? -- link =./tmp/emacs= in =~/.emacs.d/= ? -- have a tool to help migrate (aka backup + link and later do something else) ? - -So latest status on this. -- =/etc/home= with user rights might make the most sense. Why ? - + At install time, I don't have a user yet - + In all system, I can, in some way, - -How does this work with =~/src/www= ? The main problem might be the =git clone= but I -think it's ok to use sudo for this. - -The real question is : -- =/etc/home= everywhere ? or… -- =~/src/home= on fedora/ubuntu and =/etc/nixos= on nixos - -It could also be in =/etc/nixos= if it is writable for the user (=vincent= in most case) - -Final word on this: -- on =NixOS=, cloned in =/etc/nixos= linked to =~/src/home= (or the opposite), with =1000= - rights (this can be ensured in the bootstrap/install script). -- on =Fedora=, cloned in =~/src/home= :) - -* DONE [#A] self-contained configuration (with pinned channel versions) -CLOSED: [2020-06-06 Sat 16:36] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-06 Sat 16:36] -:END: - -Instead of relying on =nix-channel=, this should pin the version of all channel required -(nixos, nixos-unstable, nixpkgs, nixpkgs-unstable, home-manager, nur, …). - -- This would allow more reproducibility on all the machines. -- This would also allow to create a bot to automatically update those channels… - + … and run smoke tests using qemu for the configuration (automatically too) -- This would allow to cache pkgs more efficiently… - + … as the ci could build against multiple /channels/ - + … as the machines would have the exact same /channels/ as the ci -- This would allow to run =nixos-rebuild switch= as a user without the mess of channels - -Let's define a plan to experiment and work this out iteratively. - -** DONE Gather information -CLOSED: [2020-05-22 Fri 13:43] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-22 Fri 13:43] -:END: -- Pin different channels in the configuration (?) -- Run the configuration against multiple channels (?) -- Use =nix.path= or à-la-tazjin or [[https://github.com/nmattia/niv][=niv=]] (which is close to tazjin's approach) - -Some "good" examples - -- [[https://github.com/lovesegfault/nix-config][https://github.com/lovesegfault/nix-config]] -- [[https://github.com/utdemir/dotfiles]] -- [[https://github.com/davidtwco/veritas]] - -Those commands would work - -#+begin_src nix -nix.nixPath = [ "nixpkgs=${sources.nixos}" ]; -#+end_src - -#+begin_src bash -nixos-rebuild dry-build -I nixpkgs=$(nix eval --raw '(import nix/sources.nix).nixos.outPath') -I nixos-config=/etc/nixos/configuration.nix -#+end_src - -One trick to using =home-manager= as NixOS module makes it a bit tricky to use a different -package set. The question (to be answered at some point) is wether to use nixos-20.03 or -nixos-unstable. =nixos-20.03= with being able to use =unstable= package seems to be the -safest bet. - -** DONE Define a plan to experiment with this -CLOSED: [2020-05-26 Tue 10:36] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-26 Tue 10:36] -:END: - -The main requirement is that /while experimenting/, it should not affect the rest of the -machines. [[https://github.com/lovesegfault/nix-config][lovesegfault/dotfiles]] is a good idea to follow as I can keep the current -behavior for most machines and experiment separately on another one. I shouldn't even need -to branch out. - -The goal is: -- using niv =nix/= to update different sources -- being able to do =nix-build -A hokkaido= to build hokkaido from anywhere - + having a =switch= script to run this locally (so that we can automate this in a timer) -- being able to use different sources for different machines (nixpkgs, nixos-20.03, …) -- sharing (still) a lot of the code (modules, pkgs, …) -- having a CI that build and cache to cachix.org - + ideal world, auto-generate the ci configuration -- Use as much as =nix= as possible (most likely use scripts and nix) -- Still support using =home-manager= alone - -Open questions: -- How to manage secrets ? for bootstrap && on change. This is especially important in the - context of CI, if CI has to be able to build a configuration. - -Let's use =hokkaido= for this (thinkpad x220s). Long term, =hokkaido= might be the -nixos-unstable machine and the rest more stable (servers, …). Also let's make sure we -document this all the way (litterate configuration). - -** DONE Bootstrap =hokkaido.nix= machine file -CLOSED: [2020-05-26 Tue 10:36] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-26 Tue 10:36] -:END: - -- Being able to do =nix-build -A hokkaido= -- Use nixos-20.30 as base - -** DONE Create switch script -CLOSED: [2020-05-26 Tue 10:36] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-26 Tue 10:36] -:END: - -Being able to do =switch= (or =make -C Makefile.new switch=, or whatever) - -** DONE Try to use =nixos-unstable= as base -CLOSED: [2020-05-26 Tue 10:36] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-26 Tue 10:36] -:END: - -** DONE [#B] home-manager on fedora situation -CLOSED: [2020-06-06 Sat 16:36] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-06 Sat 16:36] -:END: - -How to make it self contained too. I think =home.nix= will work just fine. - -** DONE [#A] How to manage secrets -CLOSED: [2020-06-05 Fri 15:18] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-05 Fri 15:18] -:END: - -Right now, I have a boolean to detect if I am on ci or not. It's not the best because I -don't test all. - -** DONE Define CI (where, how) -CLOSED: [2020-06-05 Fri 15:19] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-05 Fri 15:19] -:END: - -… and cache. - -- For packages builds.sr.ht is good -- For systems, we can build it on builds.sr.ht *but* we could use a /local/ builder - machine to build the systems and cache built things. - -So far it's on builds.sr.ht… we may want to move it to a local thingy but… wait and see - -** DONE Migrate other machines/systems to it -CLOSED: [2020-06-05 Fri 15:19] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-05 Fri 15:19] -:END: - -* DONE Choose the repository to use -CLOSED: [2020-03-13 Fri 19:17] -:LOGBOOK: -- State "DONE" from "TODO" [2020-03-13 Fri 19:17] -:END: -Heading towards using ~home~ or a new ~dotfiles~ repository 😅 - -*Decision*: Using ~home~ and whenever I feel, renaming to ~dotfiles~ (so that we get the -redirection) - -* DONE Make it clear what that repository supports -CLOSED: [2020-03-13 Fri 19:21] -:LOGBOOK: -- State "DONE" from "TODO" [2020-03-13 Fri 19:21] -:END: - -- NixOS -- Nix with home-manager -- Ansible for Fedora (?) - -* DONE Organize the repository -CLOSED: [2020-03-14 Sat 14:47] -:LOGBOOK: -- State "DONE" from "STARTED" [2020-03-14 Sat 14:47] -CLOCK: [2020-03-14 Sat 14:35]--[2020-03-14 Sat 14:50] => 0:15 -CLOCK: [2020-03-14 Sat 10:30]--[2020-03-14 Sat 14:30] => 4:00 -CLOCK: [2020-03-13 Fri 19:3g0]--[2020-03-13 Fri 21:30] => 2:00 -:END: - -Documented on the repository itself. - -* DONE Import repositories -CLOSED: [2020-03-14 Sat 15:10] -:LOGBOOK: -- State "DONE" from "TODO" [2020-03-14 Sat 15:10] -CLOCK: [2020-03-14 Sat 14:47]--[2020-03-14 Sat 15:10] => 0:23 -:END: - -Using =git subtree= - -** DONE gh:vdemeester/nixos-configuration -CLOSED: [2020-03-14 Sat 15:10] -:LOGBOOK: -- State "DONE" from "TODO" [2020-03-14 Sat 15:10] -:END: - -Made sure my local working directory was up-to-date. - -#+begin_src emacs-lisp -git subtree add --prefix=tmp/nixos-configuration \ - ~/src/github.com/vdemeester/nixos-configuration/.git master -#+end_src - - -** DONE gh:vdemeester/emacs-config -CLOSED: [2020-03-14 Sat 15:10] -:LOGBOOK: -- State "DONE" from "TODO" [2020-03-14 Sat 15:10] -:END: - -Made sure my local working directory was up-to-date. - -#+begin_src bash -git subtree add --prefix=tmp/emacs-config ~/.emacs.d/.git master -#+end_src - - -* DONE What is the main repository ? -CLOSED: [2020-03-29 Sun 18:35] -:LOGBOOK: -- State "DONE" from "TODO" [2020-03-29 Sun 18:35] -:END: - -Choices are: - -- +github.com+ -- gitlab.com -- git.sr.ht (mirrored) - -* DONE Where to put what ? -CLOSED: [2020-04-14 Tue 21:25] -:LOGBOOK: -- State "DONE" from "TODO" [2020-04-14 Tue 21:25] -:END: - -Base on [[https://git.tazj.in/about][tazjin's personal monorepo]], some tooling only configuration, like =emacs= could go -into a ~tools/{tool}~ folder. - -- ~tools/emacs~ for the emacs configurations -- … - -* DONE Auto-detect the hostname (for home-manager, …) -CLOSED: [2020-04-14 Tue 21:25] -:LOGBOOK: -- State "DONE" from "TODO" [2020-04-14 Tue 21:25] -:END: - -support both ~hostname~ commands (~home-manager~) and a file (~/etc/nixos~) - - -* DONE Auto-detect ~home-manager~ vs ~nixos~ -CLOSED: [2020-04-14 Tue 21:26] -:LOGBOOK: -- State "DONE" from "TODO" [2020-04-14 Tue 21:26] -:END: - -mainly for modules that could be used in both. This could be done manually (aka in the -main configuration) - -Using sudo 😎 - -* DONE Update submodules overlays -CLOSED: [2020-04-28 Tue 23:32] -:LOGBOOK: -- State "DONE" from "TODO" [2020-04-28 Tue 23:32] -:END: - -Using a ~make~. Should it be submodules *or* subtree ? -- submodule makes the repo smaller -- subtree makes the repo reproductible - -Submodule is easy to manage, especially in magit too - -* DONE Bootstrap script -CLOSED: [2020-04-29 Wed 11:37] -:LOGBOOK: -- State "DONE" from "TODO" [2020-04-29 Wed 11:37] -:END: - -- Detect the host system - + NixOS livecd/install (~nixos-configuration~) - + NixOS installed, run as user (~home-manager~) - + Fedora (~nixpkgs~ to install, ansible, …) - -The main problem I can see still is : how do I bootstrap NixOS and how do I keep it -up-to-date. - -- Should it link itself to the home at some point ? -- Should it be read-only (~/etc/nixos~) and only get updates from the main repository ? - + This is 95% possible if I have good reproducibility, easily test my /shit/ using a VM - or something (and quickly too) - -* DONE Install script -CLOSED: [2020-04-30 Thu 00:56] -:LOGBOOK: -- State "DONE" from "TODO" [2020-04-30 Thu 00:56] -:END: - -* DONE update kerkouane to nixos 20.03 -CLOSED: [2020-05-06 Wed 05:37] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-06 Wed 05:37] -:END: - -* DONE Find a way to detect if the module is called from h-m or nixos -CLOSED: [2020-05-06 Wed 05:37] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-06 Wed 05:37] -:END: - -After importing modules, import a file conditionnally (home & nixos) that set a config to -true or false. This would also allow to support more things, like specifics for ubunt, -fedora, … - -* DONE Migrate nur-package here -CLOSED: [2020-05-06 Wed 09:51] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-06 Wed 09:51] -:END: - -- [X] Have a CI setup for it (using sr.ht) - + Automate cachix push (nixos + nixos-unstable + nixpkgs-unstable + …) - + =curl= on nur-community in case of nur file changed (and only for it) -- [X] Update nur-community - -* DONE =ci.nix= with build.sr.ht -CLOSED: [2020-05-06 Wed 10:13] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-06 Wed 10:13] -:END: - -* DONE [#B] cron-job to schedule a build at build.sr.ht 👼 -CLOSED: [2020-05-10 Sun 13:55] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-10 Sun 13:55] -:END: - -Daily or weekly build - -* DONE [#B] kubernix setup project :nixos:kubernetes: -CLOSED: [2020-05-18 Mon 19:46] -:LOGBOOK: -- State "DONE" from "TODO" [2020-05-18 Mon 19:46] -- New deadline from "[2020-05-08 Fri]" on [2020-05-11 Mon 11:18] -- New deadline from "[2020-05-02 Sat]" on [2020-05-03 Sun 13:20] -- New deadline from "[2020-04-26 Sun]" on [2020-04-27 Mon 09:55] -- New deadline from "[2020-04-24 Fri]" on [2020-04-24 Fri 17:49] -- New deadline from "[2020-04-17 Fri]" on [2020-04-20 Mon 11:45] -- New deadline from "[2020-04-11 Sat]" on [2020-04-13 Mon 16:06] -- New deadline from "[2020-04-04 Sat]" on [2020-04-05 Sun 18:13] -- New deadline from "[2020-04-03 Fri]" on [2020-04-03 Fri 07:43] -- New deadline from "[2020-03-29 Sun]" on [2020-03-29 Sun 17:34] -- New deadline from "[2020-03-27 Fri]" on [2020-03-27 Fri 17:28] -- New deadline from "[2020-03-21 Sat]" on [2020-03-23 Mon 15:07] -:END: -:PROPERTIES: -:CREATED:[2020-03-18 Wed 10:31] -:END: - -1. use a tmux for this :) - https://bytes.zone/posts/tmux-session/ -2. package script in ~home~ -3. have a quick switch to target it (zsh, emacs) - Done using the same as the rest -4. write an article about it, based on the project - -What is the flow I want ? - -- A simple command (=yak=) -- A profile (like =tektoncd=, …) -- A way to list the kubernix profile and their status - -Use http://tmuxp.git-pull.com/en/latest/ or -* DONE add crc profile on nixos -CLOSED: [2020-06-05 Fri 15:40] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-05 Fri 15:40] -:END: - -Mainly for the dnsmasq configuration, … - -* DONE Handle machines.nix better (somehow?) -CLOSED: [2020-06-06 Sat 16:37] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-06 Sat 16:37] -:END: - -I should not need to have =with import ../assets/machines.nix= each time I need to access -attributes from it. I need to load it as the other files instead. - -This means using types and the options/config system - -* DONE Makefile executable from anywhere -CLOSED: [2020-06-06 Sat 16:37] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-06 Sat 16:37] -:END: - -aka ~make -C ~/.config/nixpkgs~ should work - -* DONE =private= folder for nix (instead of =assets=) -CLOSED: [2020-06-06 Sat 16:38] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-06 Sat 16:38] -:END: -* DONE Have a ./hack/home switch… -CLOSED: [2020-06-06 Sat 16:38] -:LOGBOOK: -- State "DONE" from "TODO" [2020-06-06 Sat 16:38] -:END: -:PROPERTIES: -:CREATED:[2020-06-05 Fri 11:45] -:END: - -… or support home-manager alone on non-nixos systems in =./hack/systems= -* DONE De-duplicate modules -CLOSED: [2020-07-09 Thu 18:48] -:LOGBOOK: -- State "DONE" from "TODO" [2020-07-09 Thu 18:48] -:END: - -* DONE Zsh configuration -CLOSED: [2020-07-09 Thu 18:53] -:LOGBOOK: -- State "DONE" from "TODO" [2020-07-09 Thu 18:53] -:END: -For zsh on nixos: -- [X] use emacs keybinding -- [X] completion -- [X] take some stuff from ~home~ configuration