home

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

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:
MREADME.org | 1-
Mdocs/emacs.org | 3++-
Mdocs/index.org | 2+-
Atasks.org | 244+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
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