commit b67dc9bbc9f6192c0225ca413bc77b38e0d78c81
parent 8a124dd118013f75b76b1b27071436871f4c8e55
Author: Vincent Demeester <vincent@sbr.pm>
Date: Thu, 9 Jul 2020 18:58:29 +0200
tasks.org: update, reorder
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Diffstat:
M | tasks.org | | | 866 | ++++++++++++++++++++++++++++++++++++++++++------------------------------------- |
1 file changed, 456 insertions(+), 410 deletions(-)
diff --git a/tasks.org b/tasks.org
@@ -2,154 +2,286 @@
#+FILETAGS: #home infra configuration dotfiles
-* DONE Choose the repository to use
-CLOSED: [2020-03-13 Fri 19:17]
-:LOGBOOK:
-- State "DONE" from "TODO" [2020-03-13 Fri 19:17]
+* TODO [#A] systems/naruhodo gnome
+:PROPERTIES:
+:CREATED:[2020-06-25 Thu 05:38]
: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)
+- 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)
-* DONE Make it clear what that repository supports
-CLOSED: [2020-03-13 Fri 19:21]
+I need naruhodo setup on hokkaido as much automated as possible.
+
+** DONE Initial gnome3 setup
+CLOSED: [2020-06-29 Mon 18:11]
:LOGBOOK:
-- State "DONE" from "TODO" [2020-03-13 Fri 19:21]
+- State "DONE" from "TODO" [2020-06-29 Mon 18:11]
:END:
-- NixOS
-- Nix with home-manager
-- Ansible for Fedora (?)
+** TODO Add gnome3 extensions
-* 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:
+- [ ] pomodoro (fixing it ?)
+- [ ] [[https://github.com/bjarosze/gnome-bluetooth-quick-connect][bluetooth quick connect]]
+- [ ] [[https://framagit.org/abakkk/DrawOnYourScreen][draw on you screen]]
+- [ ] [[https://github.com/mlutfy/hidetopbar][hide top bar]]
+- [ ] [[https://github.com/sindex/no-annoyance][noannoyance]]
+- [X] pop-os/shell
+- [X] tilingnome
+- [X] sound-output-device-chooser
+- [-] transparent gnome panel
-Documented on the repository itself.
+** TODO gnome settings
-* 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:
+Check how to do this (dconf, gsettings/gconf)
-Using =git subtree=
+- [ ] keyboard shortcuts
+- [ ] terminal/tilix profiles (colors, …)
+- [ ] No getting started
+- [ ] other settings
-** DONE gh:vdemeester/nixos-configuration
-CLOSED: [2020-03-14 Sat 15:10]
-:LOGBOOK:
-- State "DONE" from "TODO" [2020-03-14 Sat 15:10]
-:END:
+** TODO fix GnuPG setup (with yubikey)
-Made sure my local working directory was up-to-date.
+** TODO gnome3 modules
-#+begin_src emacs-lisp
-git subtree add --prefix=tmp/nixos-configuration \
- ~/src/github.com/vdemeester/nixos-configuration/.git master
-#+end_src
+Create a module (like desktop) or part of desktop
+** TODO redhat specifics
-** DONE gh:vdemeester/emacs-config
-CLOSED: [2020-03-14 Sat 15:10]
-:LOGBOOK:
-- State "DONE" from "TODO" [2020-03-14 Sat 15:10]
-:END:
+VPN
-Made sure my local working directory was up-to-date.
+** TODO [[git:~/src/home/tasks.org::master@{2020-07-09}::158][Reset systems at boot]]
-#+begin_src bash
-git subtree add --prefix=tmp/emacs-config ~/.emacs.d/.git master
-#+end_src
+- =root=
+- =home=
+** TODO Dry-install on old Dell
-* 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:
+Things to test:
-Choices are:
+- [ ] Erase your darlings setup ?
+- [ ] Gnome settings
+- [ ] Yubikey
+ + login/logout
+ + gpg setup
+- [ ] Red Hat VPN connection
-- +github.com+
-- gitlab.com
-- git.sr.ht (mirrored)
+* TODO [#B] Create a custom iso for easier install
-* DONE Where to put what ?
-CLOSED: [2020-04-14 Tue 21:25]
-:LOGBOOK:
-- State "DONE" from "TODO" [2020-04-14 Tue 21:25]
+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 [#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] Better wireguard support
+
+- support for creating key
+- support for importing keys
+
+* 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=)
+
+* TODO [#B] 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 nur-package automatic -git package updates
+:PROPERTIES:
+:CREATED:[2020-04-30 Thu 20:58]
: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.
+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)
-- ~tools/emacs~ for the emacs configurations
-- …
+** 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]
-* DONE Bootstrap script
-CLOSED: [2020-04-29 Wed 11:37]
-:LOGBOOK:
-- State "DONE" from "TODO" [2020-04-29 Wed 11:37]
+
+
+** 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 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
+
+* 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 Build and use more NixOS container
+
+See https://github.com/google/nixery (layered, )…
+* 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] 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:
-- Detect the host system
- + NixOS livecd/install (~nixos-configuration~)
- + NixOS installed, run as user (~home-manager~)
- + Fedora (~nixpkgs~ to install, ansible, …)
+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.
-The main problem I can see still is : how do I bootstrap NixOS and how do I keep it
-up-to-date.
+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:
-- 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)
+Automatic =nix-build . | cachix push shortbrain=, on nixos-unstable and nixpkgs-unstable too.
-* DONE Auto-detect the hostname (for home-manager, …)
-CLOSED: [2020-04-14 Tue 21:25]
+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 "DONE" from "TODO" [2020-04-14 Tue 21:25]
+- State "CANCELED" from "TODO" [2020-06-06 Sat 16:37] \\
+ No need for now, using default everywhere
:END:
-support both ~hostname~ commands (~home-manager~) and a file (~/etc/nixos~)
+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:
-* DONE Auto-detect ~home-manager~ vs ~nixos~
-CLOSED: [2020-04-14 Tue 21:26]
+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 "DONE" from "TODO" [2020-04-14 Tue 21:26]
+- State "CANCELED" from "TODO" [2020-07-09 Thu 18:50] \\
+ Kinda done
:END:
-mainly for modules that could be used in both. This could be done manually (aka in the
-main configuration)
-
-Using sudo 😎
+https://github.com/Xe/nixos-configs
+https://rycee.gitlab.io/home-manager/
-* DONE Update submodules overlays
-CLOSED: [2020-04-28 Tue 23:32]
+** DONE Specific simple configuration (bankruptcy)
+CLOSED: [2020-07-09 Thu 18:50]
:LOGBOOK:
-- State "DONE" from "TODO" [2020-04-28 Tue 23:32]
+- State "DONE" from "TODO" [2020-07-09 Thu 18:50]
: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 Install script
-CLOSED: [2020-04-30 Thu 00:56]
+** CANCELED Try gnome3 ?
+CLOSED: [2020-07-09 Thu 18:49]
:LOGBOOK:
-- State "DONE" from "TODO" [2020-04-30 Thu 00:56]
+- State "CANCELED" from "TODO" [2020-07-09 Thu 18:49]
:END:
-
* DONE [#A] Move =tmp/nixos-configuration= to root
CLOSED: [2020-04-30 Thu 02:11]
:LOGBOOK:
@@ -163,33 +295,12 @@
For modules, it's a little bit tricker, but the first step is to have a separate nixos
module list.
-* 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]
+* DONE [#A] Add =.githooks= support
+CLOSED: [2020-05-09 Sat 15:08]
:LOGBOOK:
-- State "DONE" from "TODO" [2020-05-06 Wed 09:51]
+- State "DONE" from "TODO" [2020-05-09 Sat 15:08]
: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 [#A] Update auto-update service
CLOSED: [2020-05-09 Sat 22:51]
:LOGBOOK:
@@ -200,40 +311,6 @@
- auto-update simple
- a nightly git pull --rebase … as *user*
-* 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 =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
-
-* 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]]
-
* DONE [#A] Decide on home-manager for NixOS
CLOSED: [2020-05-21 Thu 13:56]
:LOGBOOK:
@@ -248,40 +325,36 @@
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 [#B] kubernix setup project :nixos:kubernetes:
-CLOSED: [2020-05-18 Mon 19:46]
+* DONE [#A] Where should be the cloned ?
+CLOSED: [2020-06-05 Fri 15:27]
: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]
+- State "DONE" from "TODO" [2020-06-05 Fri 15:27]
: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
+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) ?
-What is the flow I want ?
+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,
-- A simple command (=yak=)
-- A profile (like =tektoncd=, …)
-- A way to list the kubernix profile and their status
+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= :)
-Use http://tmuxp.git-pull.com/en/latest/ or
* DONE [#A] self-contained configuration (with pinned channel versions)
CLOSED: [2020-06-06 Sat 16:36]
:LOGBOOK:
@@ -421,135 +494,236 @@
- State "DONE" from "TODO" [2020-06-05 Fri 15:19]
:END:
-* DONE [#A] Where should be the cloned ?
-CLOSED: [2020-06-05 Fri 15:27]
+* DONE Choose the repository to use
+CLOSED: [2020-03-13 Fri 19:17]
:LOGBOOK:
-- State "DONE" from "TODO" [2020-06-05 Fri 15:27]
+- State "DONE" from "TODO" [2020-03-13 Fri 19:17]
:END:
+Heading towards using ~home~ or a new ~dotfiles~ repository 😅
-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) ?
+*Decision*: Using ~home~ and whenever I feel, renaming to ~dotfiles~ (so that we get the
+redirection)
-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,
+* 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:
-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.
+- NixOS
+- Nix with home-manager
+- Ansible for Fedora (?)
-The real question is :
-- =/etc/home= everywhere ? or…
-- =~/src/home= on fedora/ubuntu and =/etc/nixos= on nixos
+* 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:
-It could also be in =/etc/nixos= if it is writable for the user (=vincent= in most case)
+Documented on the repository itself.
-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 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:
-* TODO [#B] Create a custom iso for easier insteall
-* TODO [#B] nur-package automatic -git package updates
-:PROPERTIES:
-:CREATED:[2020-04-30 Thu 20:58]
+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:
-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)
+Made sure my local working directory was up-to-date.
-** 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]
+#+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:
-** 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]
+Made sure my local working directory was up-to-date.
-* TODO [#B] =qemu=/=kvm= setup to tests things
+#+begin_src bash
+git subtree add --prefix=tmp/emacs-config ~/.emacs.d/.git master
+#+end_src
-- 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]]
+* 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:
-Can be using =virsh= and =libvirt=. Maybe the best thing will be to use the test
-capabilities of nixos itself.
+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:
-* TODO [#B] bootstrap.nix (and install.nix)
+mainly for modules that could be used in both. This could be done manually (aka in the
+main configuration)
-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.
+Using sudo 😎
-* TODO [#B] Emacs shell environment :emacs:project:
+* DONE Update submodules overlays
+CLOSED: [2020-04-28 Tue 23:32]
+:LOGBOOK:
+- State "DONE" from "TODO" [2020-04-28 Tue 23:32]
+:END:
-** TODO Enhance eshell
+Using a ~make~. Should it be submodules *or* subtree ?
+- submodule makes the repo smaller
+- subtree makes the repo reproductible
-- Better prompt
-- More functions
-- Better completion (pcomplete, …)
+Submodule is easy to manage, especially in magit too
-** TODO More vterm
+* DONE Bootstrap script
+CLOSED: [2020-04-29 Wed 11:37]
+:LOGBOOK:
+- State "DONE" from "TODO" [2020-04-29 Wed 11:37]
+:END:
-Make vterm more useful
+- Detect the host system
+ + NixOS livecd/install (~nixos-configuration~)
+ + NixOS installed, run as user (~home-manager~)
+ + Fedora (~nixpkgs~ to install, ansible, …)
-** TODO Less zsh-only wonders
+The main problem I can see still is : how do I bootstrap NixOS and how do I keep it
+up-to-date.
-more generic stuff
-* TODO [#B] Nix desktop VM :nixos:project:
+- 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)
-https://github.com/Xe/nixos-configs
-https://rycee.gitlab.io/home-manager/
+* DONE Install script
+CLOSED: [2020-04-30 Thu 00:56]
+:LOGBOOK:
+- State "DONE" from "TODO" [2020-04-30 Thu 00:56]
+:END:
-** TODO Specific simple configuration (bankruptcy)
+* 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:
-** TODO Try gnome3 ?
-* TODO De-duplicate modules
+* 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:
-* TODO More defaults in configuration
+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, …
-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.
+* DONE Migrate nur-package here
+CLOSED: [2020-05-06 Wed 09:51]
+:LOGBOOK:
+- State "DONE" from "TODO" [2020-05-06 Wed 09:51]
+:END:
-This is very good because it allows to customize some small parts of the configuration
-only for specific host — this will reduce duplication.
+- [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
-* CANCELED make modules-list automatic
-CLOSED: [2020-06-06 Sat 16:37]
+* DONE =ci.nix= with build.sr.ht
+CLOSED: [2020-05-06 Wed 10:13]
:LOGBOOK:
-- State "CANCELED" from "TODO" [2020-06-06 Sat 16:37] \\
- No need for now, using default everywhere
+- State "DONE" from "TODO" [2020-05-06 Wed 10:13]
: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.
-
-* TODO Manage firefox in home-manager
+* 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:
-- 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)
+Daily or weekly build
-** TODO [[https://rakhim.org/2018/10/improve-performance-of-firefox-on-macos/][Make Firefox faster and nicer on macOS - Rakhim.org]] :firefox:
+* DONE [#B] kubernix setup project :nixos:kubernetes:
+CLOSED: [2020-05-18 Mon 19:46]
:LOGBOOK:
-- State "DONE" from "TODO" [2019-04-25 Thu 18:37]
+- 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:
-Really useful tip, I should do the same with my own (aka an ode to firefox)
-* TODO Build and use more NixOS container
+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
-See https://github.com/google/nixery (layered, )…
+What is the flow I want ?
-* TODO Better wireguard support
+- A simple command (=yak=)
+- A profile (like =tektoncd=, …)
+- A way to list the kubernix profile and their status
-- support for creating key
-- support for importing keys
+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]
@@ -562,13 +736,6 @@
This means using types and the options/config system
-* TODO Have a simple url for bootstrap/install scripts
-
-Using sbr.systems
-- get.sbr.systems/install
-- sbr.sytems/install sbr.systems/bootstrap
-- install.sbr.system
-
* DONE Makefile executable from anywhere
CLOSED: [2020-06-06 Sat 16:37]
:LOGBOOK:
@@ -577,61 +744,11 @@
aka ~make -C ~/.config/nixpkgs~ should work
-* TODO Zsh configuration
-For zsh on nixos:
-- [ ] use emacs keybinding
-- [ ] completion
-- [ ] take some stuff from ~home~ configuration
-
-* TODO 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]]
-* TODO better overlays
-
-- [ ] =default.nix= to import others
-- [ ] =pkgs= and overlay smooth integration (aka no prefix =my=)
-
-* TODO virtualization.buildkit options
-
-- [ ] with containerd, default is to use runc only
-
-* TODO pkgs: support stdenv.isLinux, …
-
-stdenv.lib.optionals stdenv.isLinux
-
-It is only require whenever I will target darwin :D
-
* 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 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, …
-
-* TODO migrate to enchant for spell checking
-
-This will allow to use hunspell, ispell, …
-
-- configure this is h-m and emacs
-
-* TODO git.sbr.systems
-
-Mirrors 👼
-cgit or custom
-
* DONE Have a ./hack/home switch…
CLOSED: [2020-06-06 Sat 16:38]
:LOGBOOK:
@@ -642,89 +759,18 @@
:END:
… or support home-manager alone on non-nixos systems in =./hack/systems=
-* CANCELED try =redo= on =src/home=
-CLOSED: [2020-06-29 Mon 18:11]
+* DONE De-duplicate modules
+CLOSED: [2020-07-09 Thu 18:48]
: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]
-* TODO systems/hokkaido gnome
-:PROPERTIES:
-:CREATED:[2020-06-25 Thu 05:38]
+- State "DONE" from "TODO" [2020-07-09 Thu 18:48]
: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.
-
-** DONE Initial gnome3 setup
-CLOSED: [2020-06-29 Mon 18:11]
+* DONE Zsh configuration
+CLOSED: [2020-07-09 Thu 18:53]
:LOGBOOK:
-- State "DONE" from "TODO" [2020-06-29 Mon 18:11]
+- State "DONE" from "TODO" [2020-07-09 Thu 18:53]
:END:
-
-** TODO Add gnome3 extensions
-
-- [ ] pomodoro (fixing it)
-- [ ] [[https://github.com/bjarosze/gnome-bluetooth-quick-connect][bluetooth quick connect]]
-- [ ] [[https://framagit.org/abakkk/DrawOnYourScreen][draw on you screen]]
-- [ ] [[https://github.com/mlutfy/hidetopbar][hide top bar]]
-- [ ] [[https://github.com/sindex/no-annoyance][noannoyance]]
-- [X] pop-os/shell
-- [X] sound-output-device-chooser
-- [X] paperwm ?
-- [-] transparent gnome panel
-
-** TODO gnome settings
-
-Check how to do this (dconf, gsettings/gconf)
-
-- [ ] keyboard shortcuts
-- [ ] terminal/tilix profiles (colors, …)
-- [ ] other settings
-
-** TODO fix GnuPG setup (with yubikey)
-
-** TODO gnome3 modules
-
-Create a module (like desktop) or part of desktop
-
-** TODO redhat specifics
-
-VPN
-
-** TODO [#C] boxes and libvirt
-
-Have a fedora machine ready to run (setup and all, automated of course)
-
-* TODO 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]
+For zsh on nixos:
+- [X] use emacs keybinding
+- [X] completion
+- [X] take some stuff from ~home~ configuration