diff --git a/SwarselSystems.org b/SwarselSystems.org index 1a44ea0..0a56d58 100644 --- a/SwarselSystems.org +++ b/SwarselSystems.org @@ -105,7 +105,7 @@ These blocks are used in several places throughout the configurations, but not o These blocks are to be used on systems that are not running NixOS. For example, one such system would be a Fedora system running home manager, where the respective NixOS features might not be available. -*** Theme +*** Theme (stylix) :PROPERTIES: :CUSTOM_ID: h:5bc1b0c9-dc59-4c81-b5b5-e60699deda78 :END: @@ -270,10 +270,12 @@ I also enable the extra socket here for ssh agent forwarding. But I have not ful enable = true; enableSshSupport = true; enableExtraSocket = true; - pinentryPackage = pkgs.pinentry-gtk2; + pinentryPackage = pkgs.pinentry.gtk2; + defaultCacheTtl = 600; + maxCacheTtl = 7200; extraConfig = '' - allow-emacs-pinentry allow-loopback-pinentry + allow-emacs-pinentry ''; }; @@ -4782,14 +4784,17 @@ Mostly used to install some compilers and lsp's that I want to have available wh yubikey-personalization yubikey-personalization-gui yubico-pam - # yubioath-flutter - # yubikey-manager - # yubikey-manager-qt + yubioath-flutter + yubikey-manager + yubikey-manager-qt yubico-piv-tool + cfssl + pcsctools + pcscliteWithPolkit.out # pinentry # theme related - gnome.adwaita-icon-theme + adwaita-icon-theme # kde-connect xdg-desktop-portal @@ -6360,7 +6365,6 @@ The rest of this configuration is found here: tooltip-format= "{:%Y %B}\n{calendar}"; }; - pulseaudio= { format= "{icon} {volume:2}%"; format-bluetooth= "{icon} {volume}%"; @@ -9291,9 +9295,19 @@ Also, Emacs needs a little extra love to accept my Yubikey for git commits etc. ("~/.dotfiles/" . 0))) :custom (magit-display-buffer-function #'magit-display-buffer-same-window-except-diff-v1)) ; stay in the same window +#+end_src + +* Yubikey support + +The following settings are needed to make sure emacs works for magit commits and pushes. It is not a beautiful solution since commiting uses pinentry-emacs and pushing uses pinentry-gtk2, but it works for now at least. + +#+begin_src emacs-lisp + ;; yubikey support for pushing commits ;; commiting is enabled through nixos gpg-agent config + (use-package pinentry) + (pinentry-start) (setq epg-pinentry-mode 'loopback) (setenv "SSH_AUTH_SOCK" (string-chop-newline (shell-command-to-string "gpgconf --list-dirs agent-ssh-socket"))) #+end_src diff --git a/index.html b/index.html index 38cf104..b2036b2 100644 --- a/index.html +++ b/index.html @@ -3,7 +3,7 @@ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
- +-This file has 40741 words spanning 10531 lines and was last revised on 2024-07-11 10:18:39 +0200. +This file has 40302 words spanning 10289 lines and was last revised on 2024-07-11 18:36:06 +0200.
@@ -419,7 +427,7 @@ This section defines my Emacs configuration. For a while, I considered to use ry
-My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2024-07-11 10:18:39 +0200) +My emacs is built using the emacs-overlay nix flake, which builds a bleeding edge emacs on wayland (pgtk) with utilities like treesitter support. By executing the below source block, the current build setting can be updated at any time, and you can see my most up-to-date build options (last updated: 2024-07-11 18:36:06 +0200)
---prefix=/nix/store/lymgpfqr5dp1wc0khbcbhhjnxq8ccsy9-emacs-pgtk-20240521.0 --disable-build-details --with-modules --with-pgtk --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --without-xinput2 --with-xwidgets --with-dbus --with-selinux +--prefix=/nix/store/y5vn4lfxjh26r0pglhq102zg6gzx1hwm-emacs-pgtk-20240711.0 --disable-build-details --with-modules --with-pgtk --with-compress-install --with-toolkit-scroll-bars --with-native-compilation --without-imagemagick --with-mailutils --without-small-ja-dic --with-tree-sitter --without-xinput2 --with-xwidgets --with-dbus --with-selinux@@ -483,8 +491,6 @@ window.addEventListener('load', addDarkmodeWidget); - -
This is where the theme for the whole OS is defined. This noweb-ref section cannot be copied to the general NixOS config for now since they are on different folder structure levels in the config, which would make the flake impure. @@ -515,6 +519,7 @@ For styling, I am using the stylix
stylix = {
+ enable = true;
base16Scheme = ../../wallpaper/swarsel.yaml;
# base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml";
polarity = "dark";
@@ -673,7 +678,6 @@ Do not that syncthingtray is also not mentioned here. It is install
... is being p
nixpkgs,
+nixpkgs-stable,
home-manager,
nix-on-droid,
nixos-generators,
@@ -865,7 +867,6 @@ nixgl,
stylix,
sops-nix,
lanzaboote,
-nixpkgs-mautrix-signal,
nix-gaming,
nixos-hardware,
nix-alien,
@@ -910,6 +911,7 @@ This is supposed to allow me to run unpatched libraries directly without a need
nixpkgs.url = github:nixos/nixpkgs/nixos-unstable;
+nixpkgs-stable.url = github:NixOS/nixpkgs/nixos-24.05;
# user-level configuration
home-manager = {
@@ -952,11 +954,6 @@ nixos-generators = {
inputs.nixpkgs.follows = "nixpkgs";
};
-# provides expressions for mautrix-signal
-nixpkgs-mautrix-signal ={
- url = github:niklaskorz/nixpkgs/nixos-23.11-mautrix-signal;
-};
-
# patches for gaming on nix
nix-gaming = {
url = github:fufexan/nix-gaming;
@@ -998,6 +995,11 @@ pkgs = import nixpkgs { inherit system;
overlays = [ emacs-overlay.overlay
nur.overlay
nixgl.overlay
+ (final: _prev: {
+ stable = import nixpkgs-stable {
+ inherit (final) system config;
+ };
+ })
];
config.allowUnfree = true;
};
@@ -1011,9 +1013,6 @@ armpkgs = import nixpkgs { system = "aarch64-linux";
config.allowUnfree = true;
};
-pkgsmautrix = import nixpkgs-mautrix-signal { inherit system;
- config.allowUnfree = true;
- };
# NixOS modules that can only be used on NixOS systems
nixModules = [ stylix.nixosModules.stylix
@@ -1063,8 +1062,7 @@ onett = nixpkgs.lib.nixosSystem {
};
sandbox = nixpkgs.lib.nixosSystem {
- pkgs = pkgsmautrix;
- specialArgs.unstable = nixpkgs-mautrix-signal;
+ specialArgs = {inherit inputs pkgs; };
modules = [
sops-nix.nixosModules.sops
./profiles/sandbox/nixos.nix
@@ -1158,11 +1156,9 @@ transmission = nixpkgs.lib.nixosSystem {
};
matrix = nixpkgs.lib.nixosSystem {
- # specialArgs = {inherit pkgsmautrix; };
- pkgs = pkgsmautrix;
+ specialArgs = {inherit inputs pkgs; };
# this is to import a service module that is not on nixpkgs
# this way avoids infinite recursion errors
- specialArgs.unstable = nixpkgs-mautrix-signal;
modules = [
sops-nix.nixosModules.sops
./profiles/server1/matrix/nixos.nix
@@ -1204,11 +1200,7 @@ sync = nixpkgs.lib.nixosSystem {
#ovm swarsel
swatrix = nixpkgs.lib.nixosSystem {
- # specialArgs = {inherit pkgsmautrix; };
- pkgs = pkgsmautrix;
- # this is to import a service module that is not on nixpkgs
- # this way avoids infinite recursion errors
- specialArgs.unstable = nixpkgs-mautrix-signal;
+ specialArgs = {inherit inputs pkgs; };
modules = [
sops-nix.nixosModules.sops
./profiles/remote/oracle/matrix/nixos.nix
@@ -1238,7 +1230,6 @@ In contrast, this defines home-manager systems, which I only have one of.
@@ -1652,6 +1637,7 @@ Special things to note here: We are running xcape to allow CAPS to
stylix.image = ../../wallpaper/surfacewp.png;
stylix = {
+ enable = true;
base16Scheme = ../../wallpaper/swarsel.yaml;
# base16Scheme = "${pkgs.base16-schemes}/share/themes/shapeshifter.yaml";
polarity = "dark";
@@ -1823,14 +1809,12 @@ gpgconf --launch gpg-agent
-
My laptop, sadly soon to be replaced by a new one, since most basic functions are stopping to work lately.
New setup for the SP3, this time using NixOS - another machine will take over the HM-only config for compatibility in the future.
My new main machine.
@@ -2528,10 +2511,12 @@ This is basically just adjusted to the core count, path to the hwmonhwmonhwmon
@@ -2969,7 +2951,6 @@ This machine requires manual setup: In general, I am not amazed by this setup; Kavita is the reader of choice, calibre-web mostly is there to have a convenient way to fullfill the opinionated folder structure when uploading ebooks (calibre-web does not work on its own since it forces sqlite which does not work nicely with my NFS book store). I hope that in the future Kavita will implement ebook upload, or that calibre-web will ditch the sqlite constraints.
This stuff just does not work, I seem to be unable to create a working VPN Split Tunneling on NixOS. Maybe this is introduced by the wonky Proxmox-NixOS container interaction, I am not sure. For now, this machine does not work at all and I am stuck with my Debian Container that does this for me …
My laptop, sadly soon to be replaced by a new one, since most basic functions are stopping to work lately.
@@ -5759,7 +5724,6 @@ Next, we setup the keymap in case we are not in a graphical session. At this poi
@@ -5774,7 +5738,6 @@ nix.settings.experimental-features = ["nix-command" "flakes"];
@@ -5800,7 +5763,6 @@ Next, we will setup some environment variables that need to be set on the system
@@ -5815,7 +5777,6 @@ time.hardwareClockInLocalTime = true;
@@ -5831,7 +5792,6 @@ stylix.targets.grub.enable = false; # the styling makes grub more ugly
@@ -5846,8 +5806,7 @@ security.polkit.enable = true;
The nix store fills up over time, until /boot/efi is filled. This snippet cleans it automatically on a weekly basis.
@@ -5866,8 +5825,7 @@ nix.gc = {
This enables hardlinking identical files in the nix store, to save on disk space. I have read this incurs a significant I/O overhead, I need to keep an eye on this. @@ -5884,7 +5842,6 @@ nix.optimise = {
@@ -5904,7 +5861,6 @@ There is a persistent bug over Linux kernels that makes the user wait 1m30s on s
@@ -5913,10 +5869,9 @@ Enable OpenGL, Sound, Bluetooth and various drivers.
-hardware.opengl = {
+hardware.graphics = {
enable = true;
- driSupport = true;
- driSupport32Bit = true;
+ enable32Bit = true;
};
sound.enable = true;
@@ -5938,7 +5893,6 @@ hardware.bluetooth.settings = {
@@ -5953,7 +5907,6 @@ networking.networkmanager.enable = true;
@@ -5983,7 +5936,6 @@ i18n.extraLocaleSettings = {
@@ -6138,7 +6089,6 @@ hardware.sane = {
@@ -6172,7 +6122,6 @@ BrowseProtocols all
@@ -6187,7 +6136,6 @@ services.gvfs.enable = true;
@@ -6227,7 +6175,6 @@ services.interception-tools = {
@@ -8197,7 +7886,6 @@ services.mbsync = {
@@ -8215,7 +7903,6 @@ services.kdeconnect = {
@@ -8235,7 +7922,6 @@ services.syncthing = {
@@ -8253,7 +7939,6 @@ services.emacs = {
@@ -8300,7 +7985,6 @@ group-by=category
flake.nix file from the
@@ -9508,7 +9160,6 @@ Used in: Centered org-mode Buf
@@ -9548,7 +9199,6 @@ This section automatically tangles all configuration blocks in this file to the
@@ -9579,7 +9229,6 @@ However, I want to be able to fold a single heading consistently.
@@ -9656,7 +9304,6 @@ The standard Emacs behaviour for the Python process shell is a bit annoying. Thi
~/.cache/ directo
highlight-indent-guides package. This adds a nea
@@ -10165,7 +9803,6 @@ This helps keeping parentheses balanced which is useful when writing in language
@@ -10185,7 +9822,6 @@ This minor-mode adds functionality for doing better surround-commands; for examp
doom-citylights theme and have modeled my
@@ -10530,7 +10156,6 @@ As stated above, this simply provides nerd-icons to the completion framework. -
@@ -10559,7 +10184,6 @@ This pair of packages provides information on keybinds in addition to function n
Org-mode heading are coded within the use-package setup, so be very careful about moving stuff about here.
@@ -10872,7 +10492,6 @@ Again, my understanding of the font-faces in Emacs is limited. This is mostly ju
@@ -10893,7 +10512,6 @@ This package makes emphasis-markers appear when the cursor moves over them. Very
@@ -10913,7 +10531,6 @@ Function definition in: Visual
@@ -10928,7 +10545,6 @@ There is a weird bug in org-mode that makes it so that headings were not folding
@@ -10939,7 +10555,6 @@ org-babel allows to run blocks in other programming languages within an org-mode It also offers a very useful utility of exporting org-mode buffers to different formats; the feature I enjoy most is what makes this file useful: the tangling functionality.
@@ -11046,7 +10658,6 @@ This package allows to download and copy images into org-mode buffers. Sadly it
@@ -11063,7 +10674,6 @@ This package automatically toggles LaTeX-fragments in org-files. It seems to als
@@ -11082,7 +10692,6 @@ This just makes org-mode a little bit more beautiful, mostly by making the
@@ -11215,7 +10824,6 @@ This adds a rudimentary nix-mode to Emacs. I have not really tried this out, as
devdocs=install command and sel
+The following settings are needed to make sure emacs works for magit commits and pushes. It is not a beautiful solution since commiting uses pinentry-emacs and pushing uses pinentry-gtk2, but it works for now at least. +
+ +;; yubikey support for pushing commits ;; commiting is enabled through nixos gpg-agent config +(use-package pinentry) +(pinentry-start) (setq epg-pinentry-mode 'loopback) (setenv "SSH_AUTH_SOCK" (string-chop-newline (shell-command-to-string "gpgconf --list-dirs agent-ssh-socket")))
NOTE: Make sure to configure a GitHub token before using this package! @@ -11554,9 +11167,8 @@ NOTE: Make sure to configure a GitHub token before using this package!
This is just a nice utility to browse different versions of a file of a git project within Emacs. @@ -11572,9 +11184,8 @@ This is just a nice utility to browse different versions of a file of a git proj
Complimentary to the delimiters-packages above, this package sets the background color of the delimiters, which makes it easier to see at a glance where we are in a delimiter-tree. @@ -11634,7 +11244,7 @@ Complimentary to the delimiters-packages above, this package sets the background
This is the company equivalent to the vertico gang.
@@ -11702,9 +11312,8 @@ Navigation functions defined here:
-
cape adds even more completion capabilities by adding a lot of completion logic that is exposed as separate functions. I tried out adding these to the 4.4.19. cape
+5.0.6. cape
completion-at-points-functions alist, but I felt like it cluttered my suggestions too much. Hence I now just call the respective functions when I need them. For this I setup the C-z keybinding in General evil.
@@ -11757,9 +11366,8 @@ I leave the commented out alist extensions here in case I want to try them out a
This sets up rustic-mode with tree-sitter support - there is still one issue to iron out with automatic adding of dependency crates, but everything else works fine now. @@ -11785,9 +11393,8 @@ This sets up rustic-mode with tree-sitter support - there is still one issue to
Tramp allows for SSH access of files over Emacs. I have no ideas what the options here mean, but this is a recommended configuration that I found (sadly I lost the link). I need to research more what these options really do. @@ -11824,9 +11431,8 @@ Tramp allows for SSH access of files over Emacs. I have no ideas what the option
This is a simple highlighting utility that uses the margin to visually show the differences since the last git commit. @@ -11848,7 +11454,7 @@ This is a simple highlighting utility that uses the margin to visually show the
This package allows for swift commenting out and in of code snippets. For some reason, it is a bit broken in my config, as it sometimes comments out too much, sometimes too little, and sometimes it splits lines during commenting. Also, in org-mode when inside a src-block, it often times jumps to the top of the block. @@ -11867,9 +11473,8 @@ Still, this is avery convenient package.
yasnippet allows to define snippets that can be quickly expanded by hitting the TAB key after inputting a keyword.
@@ -11889,7 +11494,6 @@ I used to run this together with the yasnippet-snippets package, bu
After having tried out lsp-mode and lsp-bridge for a while each, I must say that eglot feels the most clean and fast to me.
@@ -11999,9 +11602,8 @@ After having tried out lsp-mode and lsp-bridge for a w
This simple shows the path to the current file on the top of the buffer - I just think it looks kind of neat, even though it is not extremely useful :) @@ -12016,9 +11618,8 @@ This simple shows the path to the current file on the top of the buffer - I just
This setting ensures that hard links are preserved during the backup process, which is useful for maintaining the integrity of files that are linked in multiple locations. @@ -12032,9 +11633,8 @@ This setting ensures that hard links are preserved during the backup process, wh
Dirvish is an improvement upon the dired-framework and has more features like file preview etc. Sadly it has an incompatibility with openwith which is why I have disabled that package.
@@ -12098,7 +11698,7 @@ Dirvish is an improvement upon the dired-framework and has more features like fi
This enables pdf-previewing in dirvish and gives a much better pdf-viewer than is shipped normally by emacs. @@ -12116,9 +11716,8 @@ This enables pdf-previewing in dirvish and gives a much better pdf-viewer than i
This is a jupyter client. Using it is a bit cumbersome though, so I have not fully explored all features. @@ -12132,9 +11731,8 @@ This is a jupyter client. Using it is a bit cumbersome though, so I have not ful
Base emacs undo logic is very useful, but not easy to understand for me. I prefer undo-tree, which makes switching between branches easier and also allows quickly switching back to a much older state using the visualizer. @@ -12173,7 +11771,7 @@ While we are at it, we are also setting up a persistent undo-file for every file
Hydra allows for the writing of macro-style functions. I have not yet looked into this all too much, but it seems to be a potent feature. @@ -12186,7 +11784,6 @@ Hydra allows for the writing of macro-style functions. I have not yet looked int
This section is here to make Anki usable from within Emacs - an endeavour that I have mostly given up on.
@@ -12453,7 +12045,6 @@ The hook functions are defined here: mu4e-alert
@@ -12475,9 +12066,8 @@ This adds the simple utility of sending desktop notifications whenever a new mai
This provides a beautiful calender to emacs. @@ -12543,9 +12133,8 @@ Yes, I am aware that I am exposing my university-calendar to the public here. I
This sets up the dashboard, which is really quite useless. But, it looks cool and makes me happy whenever I start an emacsclient without a file name as argument :)
@@ -12619,10 +12208,9 @@ This sets up the dashboard, which is really quite useless. But, it