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 | |
D | tasks.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