commit 88990b5295c019804dcd85392d9f2cf7fa188943
parent 84de1445b0ec24480139309cfbec6496be6f61df
Author: Vincent Demeester <vincent@sbr.pm>
Date: Wed, 6 May 2020 05:41:29 +0200
Update org mode and import tasks
Signed-off-by: Vincent Demeester <vincent@sbr.pm>
Diffstat:
4 files changed, 247 insertions(+), 3 deletions(-)
diff --git a/README.org b/README.org
@@ -129,7 +129,6 @@
- [[https://github.com/yacinehmito/yarn-nix]]
- [[https://github.com/yrashk/nix-home]]
-
* COPYING
:PROPERTIES:
:CUSTOM_ID: h:716e598e-3b1a-4e48-a72b-608c3a970db9
diff --git a/docs/emacs.org b/docs/emacs.org
@@ -1,5 +1,6 @@
#+TITLE: Vincent Demeester's .emacs.d
#+SETUPFILE: ./.setupfile.org
+#+FILETAGS: emacs
#+TOC: headlines 3
@@ -252,7 +253,7 @@
collection freezes during long-term interactive use. Conversely, a ~gc-cons-threshold~
that is too small will cause stuttering.
- #+INCLUDE: "../tools/emacs/early-init.el" src emacs-lisp :range-begin "AfterInitHook" :range-end "-AfterInitHook" :lines "58-64"
+ #+INCLUDE: "../tools/emacs/early-init.el" src emacs-lisp :range-begin "AfterInitHook" :range-end "-AfterInitHook" :lines "61-67"
One thing though, I am currently not necessarily running Emacs 27, so I am going to need
to have the same configuration in ~init.el~ for a little bit of time.
diff --git a/docs/index.org b/docs/index.org
@@ -25,7 +25,7 @@
- [[file:install/nixos.org][How to install on NixOS]] explains how to setup and use the monorepo when installing NixOS
- [[file:install/fedora.org][How to install on Fedora]] explains how to setup and use the monorepo when installing on
Fedora (after the installation)
-- [[file:install/bootstrap.org][Bootstrap]] script explained
+- [[file:install/bootstrap.org][Bootstrap & install]] scripts explained
* Triage
diff --git a/tasks.org b/tasks.org
@@ -0,0 +1,244 @@
+#+TITLE: Home tasks
+#+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]
+: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 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 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 Install script
+CLOSED: [2020-04-30 Thu 00:56]
+:LOGBOOK:
+- State "DONE" from "TODO" [2020-04-30 Thu 00:56]
+:END:
+
+* 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 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, β¦
+
+* TODO Where should be the cloned ?
+
+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 and =/etc/nixos= on nixos
+
+It could also be in =/etc/nixos= if it is writable for the user (=vincent= in most case)
+
+* TODO De-duplicate modules
+
+* TODO Better wireguard support
+
+- support for creating key
+- support for importing keys
+
+* TODO Handle machines.nix better (somehow?)
+
+* TODO Update auto-update service
+
+Make it simpler
+- auto-update simple
+- a nightly git pull --rebase β¦ as *user*
+
+* TODO =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)
+
+* TODO Makefile executable from anywhere
+
+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 [#B] 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 Migrate nur-package here