Compare commits
10 Commits
1d4cfad8c7
...
bc6dc6c20e
Author | SHA1 | Date |
---|---|---|
Ryan Rix | bc6dc6c20e | |
Ryan Rix | 3166991510 | |
Ryan Rix | 6df05f075d | |
Ryan Rix | 40f4ff4874 | |
Ryan Rix | 9f3054cfef | |
Ryan Rix | fb103376ae | |
Ryan Rix | 6348fec5c9 | |
Ryan Rix | db51b72bcd | |
Ryan Rix | cb0589349c | |
Ryan Rix | 9c8fda225c |
|
@ -160,7 +160,8 @@ Updating the Nixpkgs checkout can be by invoking something like =cce/update-nixp
|
|||
" "))
|
||||
(nixpkgs-unstable-ts (string-to-number (second channel-status)))
|
||||
(nixpkgs-unstable (first channel-status)))
|
||||
(magit-fetch-all nil)
|
||||
(shell-command "git fetch --all")
|
||||
;; (magit-fetch-all nil)
|
||||
(magit-merge-plain "origin/nixpkgs-unstable")
|
||||
(message "updated nixpkgs checkout to %s"
|
||||
(format-time-string "%c" nixpkgs-unstable-ts))))))
|
||||
|
|
|
@ -20,5 +20,7 @@ Emacs has a package which will dynamically re-align code whenever I make changes
|
|||
(provide 'cce/aggressive-indent)
|
||||
(use-package aggressive-indent
|
||||
:diminish "⮕"
|
||||
:config (global-aggressive-indent-mode))
|
||||
:config
|
||||
(add-to-list 'aggressive-indent-excluded-modes 'shell-mode)
|
||||
(global-aggressive-indent-mode))
|
||||
#+end_src
|
||||
|
|
50
exwm.org
50
exwm.org
|
@ -4,14 +4,13 @@
|
|||
#+TITLE: EXWM
|
||||
#+filetags: :Emacs:CCE:EXWM:Mind:Bending:
|
||||
#+PROPERTY: header-args :mkdirp yes :results none
|
||||
#+PROPERTY: header-args:emacs-lisp :tangle exwm.el
|
||||
|
||||
#+ARROYO_EMACS_MODULE: exwm
|
||||
|
||||
#+ARCOLOGY_KEY: cce/exwm
|
||||
#+ARCOLOGY_ALLOW_CRAWL: t
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
#+begin_src emacs-lisp :tangle ~/org/cce/exwm.el
|
||||
(provide 'cce/exwm)
|
||||
#+end_src
|
||||
|
||||
|
@ -26,13 +25,13 @@ It's configured with some simple quality-of-life improvements, outlined in short
|
|||
- =S-p= brings up a simple shell command runner, I'd like to add =.desktop= support eventually.
|
||||
- EXWM runs in =ido= support mode, which allows it to work with other things that interact with the minibuffer.
|
||||
|
||||
#+begin_src emacs-lisp :noweb yes
|
||||
#+begin_src emacs-lisp :noweb yes :tangle ~/org/cce/exwm.el
|
||||
(use-package exwm
|
||||
:init
|
||||
(setq exwm-debug nil)
|
||||
:commands (exwm-enable)
|
||||
:config
|
||||
(setq exwm-workspace-number 4)
|
||||
(setq exwm-workspace-number 6)
|
||||
;; rename buffers to match window title
|
||||
(defun cce/exwm-rename-buffer ()
|
||||
(interactive)
|
||||
|
@ -50,20 +49,32 @@ It's configured with some simple quality-of-life improvements, outlined in short
|
|||
(exwm-input-set-key (kbd "s-k") #'other-window)
|
||||
(exwm-input-set-key (kbd "s-r") #'exwm-reset)
|
||||
(exwm-input-set-key (kbd "s-w") #'exwm-workspace-switch)
|
||||
(exwm-input-set-key (kbd "s-o") #'evil-window-rotate-downwards)
|
||||
(push (kbd "s-j") exwm-input-prefix-keys)
|
||||
(push (kbd "s-k") exwm-input-prefix-keys)
|
||||
(push (kbd "s-r") exwm-input-prefix-keys)
|
||||
(push (kbd "s-o") exwm-input-prefix-keys)
|
||||
(mapcar (lambda (it)
|
||||
(exwm-input-set-key (kbd (format "s-%d" it))
|
||||
`(lambda ()
|
||||
(interactive)
|
||||
(exwm-workspace-switch-create (- ,it 1)))))
|
||||
(number-sequence 1 exwm-workspace-number))
|
||||
(exwm-input--update-global-prefix-keys)
|
||||
(exwm-workspace-switch-create ,it))))
|
||||
(number-sequence 0 exwm-workspace-number))
|
||||
;; go to previously selected workspace
|
||||
(defun cce/exwm-record-before-workspace-change (ws &optional force)
|
||||
(setq cce-exwm-last-workspace exwm-workspace--current))
|
||||
(advice-add #'exwm-workspace-switch :before #'cce/exwm-record-before-workspace-change)
|
||||
(defun cce-exwm-workspace-back ()
|
||||
(interactive)
|
||||
(exwm-workspace-switch cce-exwm-last-workspace))
|
||||
(exwm-input-set-key (kbd "s-<tab>") #'cce-exwm-workspace-back)
|
||||
;; switch buffers on different displays
|
||||
(setq exwm-workspace-show-all-buffers t)
|
||||
(setq exwm-layout-show-all-buffers t)
|
||||
;; xrandr
|
||||
<<exwm-xrandr>>
|
||||
;; manage configurations
|
||||
<<exwm-manage-configurations>>
|
||||
;; startup handling
|
||||
(defvar cce-start-exwm t)
|
||||
(defun cce/exwm-init-command-line-args ()
|
||||
|
@ -75,6 +86,7 @@ It's configured with some simple quality-of-life improvements, outlined in short
|
|||
(defun cce/exwm-init (&rest args)
|
||||
(when cce-start-exwm
|
||||
(apply #'exwm-init args)))
|
||||
(exwm-input--update-global-prefix-keys)
|
||||
:hook
|
||||
(exwm-update-class . cce/exwm-rename-buffer)
|
||||
(exwm-update-title . cce/exwm-rename-buffer)
|
||||
|
@ -101,11 +113,33 @@ EXWM also supports multiple monitors, using the fairly well supported =XRANDR= p
|
|||
- [[id:cce/exwm_input_simulation][EXWM Input Simulation]]
|
||||
- [[id:cce/exwm_should_ignore_plasma_notifications][EXWM should ignore Plasma notifications]]
|
||||
- [[id:cce/picom][compton on EXWM startup]]
|
||||
- [[id:20230221T102917.352842][Consult Buffer Source for EXWM Windows]]
|
||||
|
||||
* Rules for new Windows
|
||||
|
||||
#+begin_src emacs-lisp :noweb-ref exwm-manage-configurations
|
||||
(unless (boundp 'exwm-manage-configurations) (setq exwm-manage-configurations nil))
|
||||
(mapcar (lambda (it)
|
||||
(add-to-list 'exwm-manage-configurations it))
|
||||
(list
|
||||
'((equal exwm-class-name "Cantata")
|
||||
workspace 3)
|
||||
'((equal exwm-class-name "Signal")
|
||||
workspace 2)
|
||||
'((equal exwm-class-name "Element")
|
||||
workspace 2)
|
||||
'((equal exwm-class-name "virt-manager")
|
||||
workspace 5)
|
||||
'((s-contains? "Computers :(" exwm-title)
|
||||
workspace 2)
|
||||
'((s-contains? "Picture-in-Picture" exwm-title)
|
||||
floating nil)))
|
||||
#+end_src
|
||||
|
||||
* Deeper Web Integration with Emacs
|
||||
|
||||
eventually move this in to the firefox integration page
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
#+begin_src emacs-lisp :tangle ~/org/cce/exwm.el
|
||||
(use-package exwm-edit)
|
||||
#+end_src
|
||||
|
|
|
@ -29,6 +29,7 @@
|
|||
(,(kbd "C-n") . down)
|
||||
(,(kbd "C-a") . home)
|
||||
(,(kbd "C-e") . end)
|
||||
(,(kbd "M-y") . ,(kbd "C-c"))
|
||||
(,(kbd "C-y") . ,(kbd "C-v"))
|
||||
(,(kbd "C-M-b") . ,(kbd "C-b"))))
|
||||
|
||||
|
|
|
@ -23,11 +23,12 @@ work. They don't really do much to identify themselves, =exwm--ewmh-state= is up
|
|||
floating and management check in =exwm-manage--manage-window=.
|
||||
|
||||
#+begin_src emacs-lisp
|
||||
(unless (boundp 'exwm-manage-configurations) (setq exwm-manage-configurations nil))
|
||||
(add-to-list 'exwm-manage-configurations
|
||||
'((and (equal exwm-class-name "plasmashell")
|
||||
(memq xcb:Atom:_NET_WM_WINDOW_TYPE_NOTIFICATION exwm-window-type))
|
||||
managed nil))
|
||||
(add-to-list 'exwm-manage-configurations
|
||||
((and (equal exwm-class-name "plasmashell")
|
||||
(memq xcb:Atom:_NET_WM_STATE_ABOVE exwm-window-type))))
|
||||
'((and (equal exwm-class-name "plasmashell")
|
||||
(memq xcb:Atom:_NET_WM_STATE_ABOVE exwm-window-type))))
|
||||
#+end_src
|
||||
|
|
|
@ -82,6 +82,9 @@ Here's the one for getting things from my server to my laptop. Most folks who se
|
|||
"fastmail/phoenix-lug"
|
||||
"fastmail/RecruitingSpam"
|
||||
"fastmail/Junk Mail"
|
||||
"fastmail/1ml"
|
||||
"fastmail/1ml/bcz"
|
||||
"fastmail/1ml/friendsofsecurityplanner"
|
||||
];
|
||||
};
|
||||
feeds = {
|
||||
|
|
12
nginx.org
12
nginx.org
|
@ -115,7 +115,10 @@ I use [[https://letsencrypt.org/][Lets Encrypt]] for my DNS, I really like 'em.
|
|||
}
|
||||
#+end_src
|
||||
|
||||
* INPROGRESS static sites
|
||||
* INPROGRESS wobserver static sites
|
||||
:PROPERTIES:
|
||||
:ID: 20221223T171929.934471
|
||||
:END:
|
||||
:LOGBOOK:
|
||||
- State "INPROGRESS" from "NEXT" [2022-11-12 Sat 19:41]
|
||||
:END:
|
||||
|
@ -139,10 +142,11 @@ I use [[https://letsencrypt.org/][Lets Encrypt]] for my DNS, I really like 'em.
|
|||
|
||||
"kickass.systems".root = "/srv/static-sites/kickass.systems/_site";
|
||||
|
||||
# see akkoma.org
|
||||
"notes.whatthefuck.computer" = {
|
||||
root = "/srv/static-sites/notes.whatthefuck.computer/_site";
|
||||
locations."/atom.xml".proxyPass = "https://granary.io/url?url=http://notes.whatthefuck.computer/&input=html&output=atom&hub=https://bridgy-fed.superfeedr.com/";
|
||||
locations."/rss.xml".proxyPass = "https://granary.io/url?url=http://notes.whatthefuck.computer/&input=html&output=rss&hub=https://bridgy-fed.superfeedr.com/";
|
||||
# root = "/srv/static-sites/notes.whatthefuck.computer/_site"; #
|
||||
# locations."/atom.xml".proxyPass = "https://granary.io/url?url=http://notes.whatthefuck.computer/&input=html&output=atom&hub=https://bridgy-fed.superfeedr.com/";
|
||||
# locations."/rss.xml".proxyPass = "https://granary.io/url?url=http://notes.whatthefuck.computer/&input=html&output=rss&hub=https://bridgy-fed.superfeedr.com/";
|
||||
};
|
||||
|
||||
"whatthefuck.computer" = {
|
||||
|
|
|
@ -19,8 +19,8 @@ This uses [[id:arroyo/home-manager][Arroyo Home Manager]] to generate a list of
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.packages = [ pkgs.vim ];
|
||||
system.stateVersion = "22.05";
|
||||
environment.packages = with pkgs; [ vim openssh ];
|
||||
system.stateVersion = "22.11";
|
||||
|
||||
nix.nixPath = [
|
||||
"nixpkgs=/data/data/com.termux.nix/files/home/.nix-defexpr/channels/nixpkgs/"
|
||||
|
@ -54,10 +54,20 @@ This uses [[id:arroyo/home-manager][Arroyo Home Manager]] to generate a list of
|
|||
<<home_manager_imports()>>
|
||||
];
|
||||
|
||||
programs.ssh.matchBlocks = {
|
||||
virtuous-cassette = {
|
||||
hostname = "100.96.6.32";
|
||||
user = "builder";
|
||||
identitiesOnly = true;
|
||||
identityFile = "~/.ssh/id_rsa";
|
||||
};
|
||||
|
||||
programs.ssh.matchBlocks.builder = {
|
||||
hostname = "100.96.6.32";
|
||||
user = "builder";
|
||||
window-smoke = {
|
||||
hostname = "100.79.48.59";
|
||||
user = "builder";
|
||||
identitiesOnly = true;
|
||||
identityFile = "~/.ssh/id_rsa";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
@ -115,25 +125,43 @@ Based on the [[https://github.com/t184256/nix-on-droid/wiki/Use-a-remote-builder
|
|||
}
|
||||
#+end_src
|
||||
|
||||
* Bootstrapping the build setup
|
||||
|
||||
On the droid side, it's configured to use this as the builder and SSH to the host over [[id:20220811T124742.042180][Tailscale]]:
|
||||
|
||||
=nix.conf=:
|
||||
|
||||
#+begin_src conf
|
||||
builders-use-substitutes = true
|
||||
builders = ssh://builder
|
||||
builders = ssh://virtuous-cassette;ssh://window-smoke
|
||||
#+end_src
|
||||
|
||||
=.ssh/config=
|
||||
|
||||
#+begin_src conf
|
||||
Host builder
|
||||
Host virtuous-cassette
|
||||
HostName 100.96.6.32
|
||||
User builder
|
||||
IdentitiesOnly yes
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
|
||||
Host window-smoke
|
||||
HostName 100.79.48.59
|
||||
User builder
|
||||
IdentitiesOnly yes
|
||||
IdentityFile ~/.ssh/id_rsa
|
||||
#+end_src
|
||||
|
||||
- set up ssh: =nix-shell -p openssh= then =ssh-keygen= then =ssh-copy-id builder=
|
||||
- set up ssh: =nix-shell -p openssh git= then =ssh-keygen= then =ssh-copy-id builder=; git is used in =nix-on-droid build=
|
||||
- set up directories: =ln -s /storage/emulated/0/org ~/org= then =ln -s /storage/emulated/0/arroyo-nix ~/arroyo-nix=
|
||||
- [[https://nix-community.github.io/home-manager/index.html#sec-install-standalone][install]] home-manager channel (only used for bootstrap, subsequent builds will use [[id:cce/version_pins][Nix Version Pins]])
|
||||
- then finally =nix-on-droid build -f ~/arroyo-nix/nix-on-droid.nix -I arroyo=$HOME/arroyo-nix=
|
||||
|
||||
Termux app properties should be set on the Cosmo and other devices with a hardware keyboard:
|
||||
|
||||
#+begin_src conf
|
||||
# extra-keys-style = none doesn't work...
|
||||
extra-keys = []
|
||||
back-key = escape
|
||||
ctrl-space-workaround = true
|
||||
#+end_src
|
||||
|
|
|
@ -26,7 +26,7 @@ The only other thing to consider is to make sure the kernel is new enough to sup
|
|||
|
||||
{
|
||||
boot.kernelParams = [ "mem_sleep_default=deep" ];
|
||||
boot.kernelPackages = pkgs.linuxPackages_5_15;
|
||||
# boot.kernelPackages = pkgs.linuxPackages_5_15;
|
||||
services.fwupd.enable = true;
|
||||
services.fwupd.enableTestRemote = true;
|
||||
hardware.rasdaemon.enable = true;
|
||||
|
|
|
@ -6,9 +6,10 @@
|
|||
Bits and Bobbins not worth showing anywhere else. This will need a =mkIf= if I ever support my desktop or server!
|
||||
|
||||
#+ARROYO_NIXOS_MODULE: nixos/laptop.nix
|
||||
#+AUTO_TANGLE: t
|
||||
#+ARROYO_NIXOS_ROLE: endpoint
|
||||
#+begin_src nix :tangle ~/arroyo-nix/nixos/laptop.nix
|
||||
{ pkgs, ... }:
|
||||
{ lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
powerManagement.enable = true;
|
||||
|
@ -26,10 +27,17 @@ Bits and Bobbins not worth showing anywhere else. This will need a =mkIf= if I e
|
|||
hardware.mcelog.enable = true;
|
||||
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
hardware.video.hidpi.enable = true;
|
||||
|
||||
# each machine in my morph file sets config.services.xserver.dpi too
|
||||
# fonts.optimizeForVeryHighDPI = lib.mkDefault false;
|
||||
services.xserver.upscaleDefaultCursor = lib.mkDefault true;
|
||||
|
||||
services.xserver.videoDrivers = [ "modesetting" ];
|
||||
|
||||
hardware.opengl.extraPackages32 = [ pkgs.pkgsi686Linux.vaapiIntel ];
|
||||
|
||||
# these aren't laptop...
|
||||
|
||||
# use trackpoint with wheel emulation
|
||||
hardware.trackpoint = {
|
||||
enable = true;
|
||||
|
@ -51,8 +59,6 @@ Bits and Bobbins not worth showing anywhere else. This will need a =mkIf= if I e
|
|||
];
|
||||
};
|
||||
|
||||
hardware.opengl.extraPackages32 = [ pkgs.pkgsi686Linux.vaapiIntel ];
|
||||
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
|
|
|
@ -37,7 +37,7 @@ The Wobserver in this equation is the "social hub" of an Arroyo System. [[id:c75
|
|||
This is a [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][NixOS]] configuration which is dynamically extended with [[id:arroyo/arroyo][Arroyo Systems Management]] modules. It behaves like [[id:cce/my_nixos_configuration][My NixOS configuration]] and is pushed to machines using [[id:cce/morph][Morph]]. It can also be built [[id:20220218T213149.100848][in QEMU]] below.
|
||||
|
||||
#+begin_src nix :tangle ~/arroyo-nix/roles/server/default.nix :noweb yes :mkdirp yes
|
||||
{ pkgs, lib, ... }:
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
rec {
|
||||
imports = [
|
||||
|
@ -47,12 +47,17 @@ rec {
|
|||
home-manager.users.rrix.imports = [
|
||||
<<arroyo_home-manager_imports()>>
|
||||
];
|
||||
home-manager.users.rrix.home.stateVersion = "22.11";
|
||||
|
||||
system.stateVersion = "22.11";
|
||||
|
||||
home-manager.users.rrix = {
|
||||
home.stateVersion = config.system.stateVersion;
|
||||
# don't ship pinentry-qt
|
||||
services.gpg-agent.pinentryFlavor = lib.mkForce "curses";
|
||||
};
|
||||
|
||||
services.openssh.enable = true;
|
||||
|
||||
home-manager.users.rrix.services.syncthing.tray.enable = lib.mkForce false;
|
||||
|
||||
boot = {
|
||||
kernelParams = [ "console=ttyS0" "boot.shell_on_fail" ];
|
||||
loader.timeout = 5;
|
||||
|
@ -73,11 +78,15 @@ rec {
|
|||
|
||||
#+results: arroyo_nixos_imports
|
||||
#+begin_example
|
||||
../../nixos/akkoma.nix
|
||||
../../nixos/arcology-config.nix
|
||||
../../nixos/cachix.nix
|
||||
../../nixos/emacs.nix
|
||||
../../nixos/feediverse.nix
|
||||
../../nixos/gitea.nix
|
||||
../../nixos/gnupg-pam.nix
|
||||
../../nixos/home-manager.nix
|
||||
../../nixos/jellyfin.nix
|
||||
../../nixos/location.nix
|
||||
../../nixos/nextcloud.nix
|
||||
../../nixos/nginx.nix
|
||||
|
@ -89,7 +98,10 @@ rec {
|
|||
../../nixos/ssh_client.nix
|
||||
../../nixos/syncthing.nix
|
||||
../../nixos/tailscale.nix
|
||||
../../nixos/ttrss.nix
|
||||
../../nixos/vaultwarden.nix
|
||||
../../nixos/wobservability.nix
|
||||
../../nixos/wobserver-docker.nix
|
||||
../../nixos/zfs.nix
|
||||
#+end_example
|
||||
|
||||
|
@ -106,6 +118,7 @@ rec {
|
|||
../../hm/beets.nix
|
||||
../../hm/contacts.nix
|
||||
../../hm/datasette.nix
|
||||
../../hm/datasette.nix
|
||||
../../hm/deadgrep.nix
|
||||
../../hm/defexpr.nix
|
||||
../../hm/emacs-helpers.nix
|
||||
|
@ -151,6 +164,10 @@ NixOS modules:
|
|||
- [[id:20220210T155158.671084][From Wireguard to Tailscale]]
|
||||
- [[id:20220526T143555.660133]["The manual appears to depend on the location of Nixpkgs"]]
|
||||
- [[id:20221021T115008.329657][Arroyo Nix Support]]
|
||||
- [[id:20221130T103851.207871][Gitea on NixOS]]
|
||||
- [[id:20221202T122017.620403][Self-Hosting on the Fediverse with (Pleroma for now, eventually) Akkoma]]
|
||||
- [[id:20221202T124113.404212][Docker Containers on the Wobserver]]
|
||||
- [[id:20230125T143144.011175][Posting Arcology Feeds to the Fediverse Automatically with Feediverse]]
|
||||
- [[id:47ff77f9-3eae-43eb-886c-7513d05f047f][Secure Backup Infrastructure]]
|
||||
- [[id:arcology/poetry][Arcology Poetry Pyproject]]
|
||||
- [[id:arroyo/emacs][Arroyo Emacs Generator]]
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#+PROPERTY: header-args:emacs-lisp :tangle exwm-xcompmgr.el
|
||||
|
||||
#+ARROYO_EMACS_MODULE: exwm-xcompmgr
|
||||
,#+ARROYO_MODULE_WANTS: cce/exwm.org
|
||||
#+ARROYO_MODULE_WANTS: cce/exwm.org
|
||||
#+ARROYO_HOME_MODULE: hm/picom.nix
|
||||
#+ARROYO_NIXOS_ROLE: endpoint
|
||||
#+ARCOLOGY_ALLOW_CRAWL: t
|
||||
|
@ -34,7 +34,7 @@ i use picom, a simple X11 compositor that works with [[id:cce/exwm][EXWM]] or [[
|
|||
(when (executable-find "picom")
|
||||
(start-process "picom" " *picom*" "picom" "--vsync" "--backend=glx")))
|
||||
;; "-i 0.9"
|
||||
; (add-hook 'exwm-init-hook #'cce/run-picom)
|
||||
(add-hook 'exwm-init-hook #'cce/run-picom)
|
||||
; (add-hook 'after-init-hook #'cce/run-picom)
|
||||
#+end_src
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
#+ARCOLOGY_KEY: cce/super-p
|
||||
#+ARROYO_EMACS_MODULE: super-p
|
||||
#+ARCOLOGY_ALLOW_CRAWL: t
|
||||
,#+ARROYO_MODULE_WANTS: cce/exwm.org
|
||||
#+ARROYO_MODULE_WANTS: cce/exwm.org
|
||||
|
||||
#+begin_src emacs-lisp :exports none
|
||||
(provide 'cce/super-p)
|
||||
|
|
114
version_pins.org
114
version_pins.org
|
@ -69,11 +69,12 @@ By structuring these invocations like this it is possible to write a function co
|
|||
[fn:1] This is required because I couldn't get =nix-update-decls= to update the revs of these without also populating a =sha256= key which will not be valid in a =builtins.fetchGit= invocation. Both [[id:nix_community_emacs_overlay][nix-community/emacs-overlay]] and [[id:cce/home-manager][home-manager]] are loaded in situations where there is no pre-existing [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][nixpkgs]] to invoke, so they have to use this "impure" invocation.
|
||||
|
||||
* NEXT update my [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711][NixOS]] version pins and deploy
|
||||
SCHEDULED: <2023-01-03 Tue .+2w>
|
||||
SCHEDULED: <2023-04-12 Wed .+2w>
|
||||
:PROPERTIES:
|
||||
:LAST_REPEAT: [2022-12-20 Tue 13:15]
|
||||
:LAST_REPEAT: [2023-03-29 Wed 10:33]
|
||||
:END:
|
||||
:LOGBOOK:
|
||||
- State "DONE" from "NEXT" [2023-03-29 Wed 10:33]
|
||||
- State "DONE" from "NEXT" [2022-12-20 Tue 13:15]
|
||||
CLOCK: [2022-12-20 Tue 10:26]--[2022-12-20 Tue 13:15] => 2:49
|
||||
- State "DONE" from "NEXT" [2022-11-07 Mon 12:15]
|
||||
|
@ -86,29 +87,32 @@ CLOCK: [2022-12-20 Tue 10:26]--[2022-12-20 Tue 13:15] => 2:49
|
|||
{ ... }:
|
||||
|
||||
{
|
||||
# fetchGit
|
||||
<<homeManager>>
|
||||
<<emacsOverlay>>
|
||||
# fetchTarball
|
||||
<<nixpkgs>>
|
||||
# github
|
||||
|
||||
<<nixgl>>
|
||||
<<mastodon>>
|
||||
# tabfs
|
||||
<<tabfs>>
|
||||
|
||||
|
||||
# org libraries
|
||||
<<consult-org-roam>>
|
||||
<<ox-rss>>
|
||||
<<org-fc>>
|
||||
<<delve>>
|
||||
|
||||
<<tabfs>>
|
||||
<<cpmtools>>
|
||||
|
||||
# pythons
|
||||
<<beetcamp>>
|
||||
<<bandcamp-dl>>
|
||||
<<mopidy-bandcamp>>
|
||||
<<jisho-api>>
|
||||
|
||||
<<twitter-to-sqlite>>
|
||||
<<inaturalist-to-sqlite>>
|
||||
|
||||
<<ttrss>>
|
||||
}
|
||||
#+end_src
|
||||
|
||||
|
@ -122,7 +126,7 @@ Right now I am running off a branch of [[id:c75d20e6-8888-4c5a-ac97-5997e2f1c711
|
|||
|
||||
#+NAME: prefetch-hm
|
||||
#+results:
|
||||
: "e7eba9cc46547ae86642ad3c6a9a4fb22c07bc26"
|
||||
: "765e4007b6f9f111469a25d1df6540e8e0ca73a6"
|
||||
|
||||
#+begin_src nix :noweb-ref homeManager :noweb yes
|
||||
homeManager = _: builtins.fetchGit {
|
||||
|
@ -139,7 +143,7 @@ homeManager = _: builtins.fetchGit {
|
|||
|
||||
#+NAME: prefetch-em
|
||||
#+results:
|
||||
: "a201dcf3d712cf6d3934b396d523041781ff9589"
|
||||
: "0a1e1819a33ead41c54d329f172129f9b0b301f3"
|
||||
|
||||
#+NAME: emacsOverlay
|
||||
#+begin_src nix :noweb yes
|
||||
|
@ -164,9 +168,9 @@ builds from https://codeberg.org/martianh/mastodon.el/commits/branch/main
|
|||
#+begin_src nix :noweb-ref mastodon
|
||||
mastodon = { pkgs, ... }: pkgs.fetchgit {
|
||||
url = "https://codeberg.org/martianh/mastodon.el";
|
||||
rev = "d9c0d7eeea02c27173ed000af7c560ca978125ea";
|
||||
sha256 = "1fsbpfdssjwfgx8cpl512y6x29q9660v6p0s51r0w2bvdqbqqm92";
|
||||
# date = "2022-12-11T21:30:28+00:00";
|
||||
rev = "f42a3aea506b5258dcf3e2b55d211d89f68a6c8a";
|
||||
sha256 = "10w0jmlywl51gsfc8c1vc2in1krk4qb1p7lswrcjhahzi2c42yh6";
|
||||
# date = "2023-03-23T15:11:58+01:00";
|
||||
};
|
||||
#+end_src
|
||||
|
||||
|
@ -176,9 +180,9 @@ mastodon = { pkgs, ... }: pkgs.fetchgit {
|
|||
nixGL = { pkgs, ... }: pkgs.fetchFromGitHub {
|
||||
owner = "guibou";
|
||||
repo = "nixGL";
|
||||
rev = "7165ffbccbd2cf4379b6cd6d2edd1620a427e5ae";
|
||||
sha256 = "1wc85xqnq2wb008y9acb29jbfkc242m9697g2b8j6q3yqmfhrks1";
|
||||
# date = "2022-08-24T20:56:02+02:00";
|
||||
rev = "c917918ab9ebeee27b0dd657263d3f57ba6bb8ad";
|
||||
sha256 = "0rrxbgsv54p7cvhi24dc9yv5nphjmdj51pvy5awf07x3f1jica98";
|
||||
# date = "2023-02-14T15:06:29+01:00";
|
||||
};
|
||||
#+end_src
|
||||
|
||||
|
@ -189,9 +193,9 @@ tabfs-rev = "09d57f94b507f68ec5e16f53b1cc868fbaf6cceb";
|
|||
tabfs-fetch = {pkgs, ...}: pkgs.fetchFromGitHub {
|
||||
owner = "osnr";
|
||||
repo = "TabFS";
|
||||
rev = "09d57f94b507f68ec5e16f53b1cc868fbaf6cceb";
|
||||
sha256 = "0pnzq44plbs358l8lzxzlx35p2c5izvjaqbff5f1fj093wk92wiw";
|
||||
# date = "2022-02-02T00:56:15-05:00";
|
||||
rev = "e056ff9073470192ef4c8498aaa7e722edae87c2";
|
||||
sha256 = "1xbnx30m6dcd10i5xrma5q0azky5w6hgas500ginqg9s9skgciiw";
|
||||
# date = "2023-03-02T15:45:33-05:00";
|
||||
};
|
||||
#+end_src
|
||||
|
||||
|
@ -202,9 +206,9 @@ consult-org-roam-rev = "268f436858e1ea3b263782af466a54e4d603a7d2";
|
|||
consult-org-roam = {pkgs, ...}: pkgs.fetchFromGitHub {
|
||||
owner = "jgru";
|
||||
repo = "consult-org-roam";
|
||||
rev = "96c95e5a14378cc6fc9c22981f5bfd9e18c419f6";
|
||||
sha256 = "1mjz73sv2hkirlsr3hmjfivknwydb4yjf90kk5a4zwmhcs3vlh8q";
|
||||
# date = "2022-11-20T08:18:09+01:00";
|
||||
rev = "ede01c2710836f055351d2ef0d9fac70b885ac65";
|
||||
sha256 = "05crx412wnffz2069l44py4acnp3qv04zg0279z427il24lincd4";
|
||||
# date = "2023-03-01T16:55:00+01:00";
|
||||
};
|
||||
#+end_src
|
||||
|
||||
|
@ -216,10 +220,10 @@ ox-rss = rec {
|
|||
rev = "83dc898fa5493925b01716e5dd495d5e07c3d41a";
|
||||
url = "https://gitlab.com/nsavage/ox-rss.git/";
|
||||
src = { pkgs, ... }: pkgs.fetchgit {
|
||||
rev = "83dc898fa5493925b01716e5dd495d5e07c3d41a";
|
||||
rev = "3b8bbe8a392bbb04f17bf426400c53283fd3647a";
|
||||
url = "https://gitlab.com/nsavage/ox-rss.git/";
|
||||
sha256 = "0513kixv9bgkignmji95m3rskn6px6c0fack4zdl61qq09fg8w6h";
|
||||
# date = "2021-06-06T07:25:35-04:00";
|
||||
sha256 = "02k9mbi3shjzpmc2z6w5ypjvxq9mlnw6qjkrs8bi10fqsw6fjkpq";
|
||||
# date = "2023-01-22T11:36:35+00:00";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
@ -248,7 +252,8 @@ cpmtools = {
|
|||
owner = "lipro-cpm4l";
|
||||
repo = "cpmtools";
|
||||
rev = "e534e20c15973a9559e981efb498a102020e5db7";
|
||||
sha256 = "sha256-jKC0uh3sGVUJsiTrOa28h+fF4Ja6Yiwzw5Tqfj9oik4=";
|
||||
sha256 = "0klad0zpxsllqcrjqqmsjvhcbrw7pjnkksr4n84ma6gc3nxb984c";
|
||||
# date = "2020-07-26T12:24:37+02:00";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
@ -262,8 +267,9 @@ beetcamp = {
|
|||
src = { pkgs, ... }: pkgs.fetchFromGitHub {
|
||||
repo = "beetcamp";
|
||||
owner = "snejus";
|
||||
rev = "118d4239bd570a59997f13ac0920e6e92890ac67";
|
||||
sha256 = "sha256-yrlpgLdNEzlWMY7Cns0UE93oEbpkOoYZHGLpui6MfC0=";
|
||||
rev = "25d0b8ab03095093afe86abb45a35fc83295e013";
|
||||
sha256 = "1j05pnsbqj9nibp62p9wpzrzrcxz63i35qpxskkikjgsczv6nq0a";
|
||||
# date = "2023-02-13T20:28:49+00:00";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
@ -277,7 +283,7 @@ mopidy-bandcamp = {
|
|||
src = { python3Packages, ... }: python3Packages.fetchPypi {
|
||||
version = "1.1.5";
|
||||
pname = "Mopidy-Bandcamp";
|
||||
sha256 = "sha256-wg9zcOKfZQRhpyA1Cu5wvdwKpmrlcr2m9mrqBHgUXAQ=";
|
||||
sha256 = "012w2iw09skayskbswp5dak0mp5xf3p0ld90lxhh8rczw9q763y2";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
@ -292,8 +298,9 @@ delve = {
|
|||
src = { pkgs, ... }: pkgs.fetchFromGitHub {
|
||||
owner = "publicimageltd";
|
||||
repo = "delve";
|
||||
rev = "9a3e2675ef76865e9ffd95bb49ae1c8307cbfcc1";
|
||||
sha256 = "sha256-gZcSHJnLW8/IYIdGIsU2vnzZFpyTLk3TxLr0dxR0O0Q=";
|
||||
rev = "6cb166f397cb3f0cc0bee960ed6c198cfffdfde7";
|
||||
sha256 = "04jhdky0wj1davrc4m042rnxl4ywwg2mxzbc10734fraxrg4yasx";
|
||||
# date = "2022-11-07T14:39:51+01:00";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
@ -306,8 +313,9 @@ jisho-api = {
|
|||
src = { pkgs, ... }: pkgs.fetchFromGitHub {
|
||||
owner = "pedroallenrevez";
|
||||
repo = "jisho-api";
|
||||
rev = "b80bff460a0f6826232cafce68cb75ef83543a23";
|
||||
sha256 = "sha256-3oEhr/kXesxp5vnELlciaizq88Jwzw2ahTgooA946Pc=";
|
||||
rev = "9d52dcd8a3fab23d1fadd2c9305008705b3bdb7f";
|
||||
sha256 = "1sdjs640dxwxxxrg76pkrq8gvk5nf220dl39r7ljk6rkc9w64ljz";
|
||||
# date = "2022-01-12T00:31:34+00:00";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
@ -321,7 +329,8 @@ inaturalist-to-sqlite = {
|
|||
owner = "dogsheep";
|
||||
repo = "inaturalist-to-sqlite";
|
||||
rev = "d888c7c2f02aa0dfb1559603f02357cd0089da11";
|
||||
sha256 = "sha256-2YKGGzkRJJ68kj1h8Di8weY0cDGTnOkI1DZ2aqNsy0c=";
|
||||
sha256 = "0iybdjinlxinsh4fk74k65q39rn1phwg0q9xjay9w90i74dqd0nr";
|
||||
# date = "2020-10-21T17:08:29-07:00";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
@ -335,10 +344,45 @@ twitter-to-sqlite = {
|
|||
owner = "dogsheep";
|
||||
repo = "twitter-to-sqlite";
|
||||
rev = "f09d611782a8372cfb002792dfa727325afb4db6";
|
||||
sha256 = "sha256-ICAs/DOcyMA0DBEaMk/KG2tsMIDl3MKfP1CdtVXQIls=";
|
||||
sha256 = "0nr2s1avb7ah7ygw5p75h0q6qsqvr97k46hi1hsc1j4w6gy2q810";
|
||||
# date = "2021-12-26T10:08:40-08:00";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
||||
** [[id:20230205T132148.236178][bandcamp-dl]]
|
||||
|
||||
#+begin_src nix :noweb-ref bandcamp-dl
|
||||
bandcamp-dl = {
|
||||
version = "0.0.1";
|
||||
src = { pkgs, ... }: pkgs.fetchFromGitHub {
|
||||
owner = "iliana";
|
||||
repo = "bandcamp-dl";
|
||||
rev = "97061b5dc8dbff65aa15d36c3d22904e5463925d";
|
||||
sha256 = "0cyalxc4zlyy3b965ryrhcx7in2i8rz4wngkh30m0y8sdjxiihwr";
|
||||
# date = "2021-09-04T21:51:35-07:00";
|
||||
};
|
||||
};
|
||||
#+end_src
|
||||
|
||||
** NEXT [[id:20220506T155905.773161][vsketch and vpype]] dependencies
|
||||
** NEXT automate fetchFromPyPi or move to GH fetchers
|
||||
** [[id:20230310T155744.804329][tt-rss]] plugins
|
||||
|
||||
#+begin_src nix :noweb-ref ttrss
|
||||
large_apod = { pkgs, ... }: pkgs.fetchFromGitHub {
|
||||
owner = "joshp23";
|
||||
repo = "TTRSS-APOD-Fix";
|
||||
rev = "d6233f7a9031eaa07649d6b4777525524827f9de";
|
||||
sha256 = "11vi81vha3sv9nq36ipxisrnrk5y38582f2nk7qg057d6jm9jw0f";
|
||||
# date = "2017-06-25T13:52:41-04:00";
|
||||
};
|
||||
|
||||
ttrss_wallabag = { pkgs, ... }: pkgs.fetchFromGitHub {
|
||||
owner = "joshp23";
|
||||
repo = "ttrss-to-wallabag-v2";
|
||||
rev = "49ade5a1a216de74e42c4942ffa9cbf1bf426bec";
|
||||
sha256 = "09rspawg0by5fk1x5b3b3smzqp4zw93h8c7zdxr63z6wjs41ba0j";
|
||||
# date = "2021-03-14T01:26:43-05:00";
|
||||
};
|
||||
#+end_src
|
||||
|
|
|
@ -217,7 +217,7 @@ rec {
|
|||
|
||||
config = ../files/xmonad.hs;
|
||||
};
|
||||
<<plasma-xmonad>>
|
||||
# <<plasma-xmonad>>
|
||||
}
|
||||
#+end_src
|
||||
|
||||
|
|
Loading…
Reference in New Issue