From d71e942e57b99c2f1840f2009e1c64e48725f4cd Mon Sep 17 00:00:00 2001 From: Tristan Druyen Date: Mon, 27 Nov 2023 22:11:52 +0100 Subject: [PATCH] WIP - add & use iosevka instead of firacode - change doom theme to gruvbox-dark - add some tramp config - remove doom workspaces to improve centaur-tabs - add tree-sitter to doom layers where possible - mount work smb shares - add adb tools - change to stable firefox from beta - various other stuff --- NOTES.md | 2 ++ ext/doom/config.el | 39 +++++++++++++++++------- ext/doom/init.el | 9 ++++-- flake.lock | 54 ++++++++++++++++----------------- home-mods/desktop/default.nix | 3 ++ home-mods/firefox/default.nix | 2 +- home-mods/plasma/default.nix | 3 +- home-mods/shell/default.nix | 15 ++++----- os-mods/cachix/default.nix | 6 ++-- os-mods/desktop/default.nix | 2 +- os-mods/network/default.nix | 12 +++++--- systems/nixos-pulse/default.nix | 27 +++++++++++++++++ 12 files changed, 117 insertions(+), 57 deletions(-) diff --git a/NOTES.md b/NOTES.md index 4956683..92d2a29 100644 --- a/NOTES.md +++ b/NOTES.md @@ -1,5 +1,7 @@ # ToDo's +- Investigate https://crane.dev/examples/quick-start-simple.html for ruszt builds +- https://nix.dev/tutorials/packaging-existing-software - this looks awesome: https://github.com/erictossell/nixflakes/tree/main - https://nixos.wiki/wiki/Binary_Cache - build a good abstraction for systems diff --git a/ext/doom/config.el b/ext/doom/config.el index ab6ed21..9b04508 100644 --- a/ext/doom/config.el +++ b/ext/doom/config.el @@ -24,10 +24,10 @@ (setq nerd-icons-font-names '("SymbolsNerdFontMono-Regular.ttf")) -(setq doom-font (font-spec :family "FiraCode Nerd Font" :size 14) - ;; doom-variable-pitch-font (font-spec :family "Fira Sans" :size 13) +(setq doom-font (font-spec :family "Iosevka Nerd Font Mono" :size 14) + doom-variable-pitch-font (font-spec :family "Iosevka Nerd Font Propo" :size 14) ;; doom-symbol-font (font-spec :family "all-the-icons" :size 13) - doom-big-font (font-spec :family "FiraCode Nerd Font" :size 18 :weight 'demibold)) + doom-big-font (font-spec :family "Iosevka Nerd Font Mono" :size 18 :weight 'demibold)) (defun add-back-emoji-fallback-font-families () (when (fboundp 'set-fontset-font) @@ -46,7 +46,7 @@ ;; There are two ways to load a theme. Both assume the theme is installed and ;; available. You can either set `doom-theme' or manually load a theme with the ;; `load-theme' function. This is the default: -(setq doom-theme 'doom-one) +(setq doom-theme 'doom-gruvbox) ;; This determines the style of line numbers in effect. If set to `nil', line ;; numbers are disabled. For relative line numbers, set this to `relative'. @@ -88,6 +88,21 @@ ;; ;; You can also try 'gd' (or 'C-c c d') to jump to their definition and see how ;; they are implemented. +;; TRAMP + + +;; (add-to-list 'tramp-connection-properties +;; (list (regexp-quote "/sshx:user@host:") +;; "remote-shell" "/usr/bin/fish")) +;; +;; (eval-after-load 'tramp +;; '((setenv "SHELL" "/run/current-system/sw/bin/fish") +;; (setenv "ESHELL" "/run/current-system/sw/bin/fish") +;; (add-to-list 'tramp-remote-path +;; "/run/current-system/sw/bin") +;; ) +;; ) +;; (setq! tramp-default-method "ssh") ;; rust (setq! lsp-inlay-hint-enable t) @@ -187,6 +202,10 @@ You are an intelligent programming assistant." ;; TABS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + +(setq! uniquify-separator "/") +(setq! uniquify-buffer-name-style 'forward) + (use-package centaur-tabs :init (setq centaur-tabs-enable-key-bindings t) @@ -201,10 +220,10 @@ You are an intelligent programming assistant." centaur-tabs-gray-out-icons 'buffer x-underline-at-descent-line t centaur-tabs-set-modified-marker t - centaur-tabs-modified-marker "•" - centaur-tabs-close-button "x" - centaur-tabs-cycle-scope 'tabs - centaur-tabs-adjust-buffer-order t + centaur-tabs-modified-marker "•" + centaur-tabs-close-button "x" + centaur-tabs-cycle-scope 'tabs + centaur-tabs-adjust-buffer-order t centaur-tabs-left-edge-margin nil) (centaur-tabs-change-fonts (face-attribute 'default :font) 110) @@ -212,8 +231,6 @@ You are an intelligent programming assistant." (centaur-tabs-group-by-projectile-project) ;; (centaur-tabs-enable-buffer-alphabetical-reordering) (centaur-tabs-mode t) - (setq uniquify-separator "/") - (setq uniquify-buffer-name-style 'forward) (defvar categories-alist @@ -305,7 +322,7 @@ You are an intelligent programming assistant." (buffer-string))) (defalias 'my/codeium-complete - (cape-interacive-capf #'codeium-completion-at-point)) + (cape-interactive-capf #'codeium-completion-at-point)) (map! :localleader :map evil-normal-state-map diff --git a/ext/doom/init.el b/ext/doom/init.el index ef2e741..aadd147 100644 --- a/ext/doom/init.el +++ b/ext/doom/init.el @@ -53,7 +53,7 @@ vi-tilde-fringe ; fringe tildes to mark beyond EOB (window-select ; visually switch windows +numbers) - workspaces ; tab emulation, persistence & separate workspaces + ;; workspaces ; tab emulation, persistence & separate workspaces ;;zen ; distraction-free coding or writing :editor @@ -191,7 +191,10 @@ +tree-sitter) ; Fe2O3.unwrap().unwrap().unwrap().unwrap() ;;scala ; java, but good ;;(scheme +guile) ; a fully conniving family of lisps - (sh +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor + (sh + +fish + +lsp + +tree-sitter) ; she sells {ba,z,fi}sh shells on the C xor ;;sml ;;solidity ; do you need a blockchain? No. ;;swift ; who asked for emoji variables? @@ -202,7 +205,7 @@ +tree-sitter) ; the tubes (yaml +tree-sitter - +lsp) ; JSON, but readable + +lsp) ; JSON, but readable ;;zig ; C, but simpler :email diff --git a/flake.lock b/flake.lock index fa8d41e..e2f516b 100644 --- a/flake.lock +++ b/flake.lock @@ -7,11 +7,11 @@ ] }, "locked": { - "lastModified": 1699781810, - "narHash": "sha256-LD+PIUbm1yQmQmGIbSsc/PB1dtJtGqXFgxRc1C7LlfQ=", + "lastModified": 1700927249, + "narHash": "sha256-iqmIWiEng890/ru7ZBf4nUezFPyRm2fjRTvuwwxqk2o=", "owner": "nix-community", "repo": "disko", - "rev": "2d7d77878c5d70f66f3d676ff66708d8d4f9d7df", + "rev": "3cb78c93e6a02f494aaf6aeb37481c27a2e2ee22", "type": "github" }, "original": { @@ -31,11 +31,11 @@ ] }, "locked": { - "lastModified": 1699812904, - "narHash": "sha256-+74SKAZrAFMytXfn0O1Sd5/bIl8OV+XxfjkXuGYqbYo=", + "lastModified": 1701051730, + "narHash": "sha256-4N3Fm36LSbNQwJkWcem3xzZ4klb39IaKdKeu6Xr2opM=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "87219c6667c12e5f4442d27c073b9c56dbf0c95e", + "rev": "14bfb2ab205d5040420b4daf90a69f9e169fdb2a", "type": "github" }, "original": { @@ -138,11 +138,11 @@ ] }, "locked": { - "lastModified": 1699748081, - "narHash": "sha256-MOmMapBydd7MTjhX4eeQZzKlCABWw8W6iSHSG4OeFKE=", + "lastModified": 1700392168, + "narHash": "sha256-v5LprEFx3u4+1vmds9K0/i7sHjT0IYGs7u9v54iz/OA=", "owner": "nix-community", "repo": "home-manager", - "rev": "04bac349d585c9df38d78e0285b780a140dc74a4", + "rev": "28535c3a34d79071f2ccb68671971ce0c0984d7e", "type": "github" }, "original": { @@ -159,11 +159,11 @@ ] }, "locked": { - "lastModified": 1699760693, - "narHash": "sha256-u/gkNUHQR/q23voqE5J4xmEWQIAqR+g3lUnCtzn0k7Y=", + "lastModified": 1700968077, + "narHash": "sha256-Lax+2g7G3Fe+ckMrHLYTl+97unbmNDmN1qS9MLBkxr4=", "owner": "Mic92", "repo": "nix-index-database", - "rev": "8aff4ca3dee60d1422489fe8d52c2f837b3ad113", + "rev": "bd3aec0ecb0fdde863a7ed2c6caa220c47e22c07", "type": "github" }, "original": { @@ -216,11 +216,11 @@ }, "nixos-unstable": { "locked": { - "lastModified": 1699099776, - "narHash": "sha256-X09iKJ27mGsGambGfkKzqvw5esP1L/Rf8H3u3fCqIiU=", + "lastModified": 1700794826, + "narHash": "sha256-RyJTnTNKhO0yqRpDISk03I/4A67/dp96YRxc86YOPgU=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "85f1ba3e51676fa8cc604a3d863d729026a6b8eb", + "rev": "5a09cb4b393d58f9ed0d9ca1555016a8543c2ac8", "type": "github" }, "original": { @@ -232,11 +232,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1699596684, - "narHash": "sha256-XSXP8zjBZJBVvpNb2WmY0eW8O2ce+sVyj1T0/iBRIvg=", + "lastModified": 1700989516, + "narHash": "sha256-oKbmPa2wpTHh9XB3+zIx97uMZGNnp97GPliKKG2/plo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "da4024d0ead5d7820f6bd15147d3fe2a0c0cec73", + "rev": "d2e4de209881b38392933fabf303cde3454b0b4c", "type": "github" }, "original": { @@ -264,11 +264,11 @@ }, "nixpkgs-unstable": { "locked": { - "lastModified": 1699725108, - "narHash": "sha256-NTiPW4jRC+9puakU4Vi8WpFEirhp92kTOSThuZke+FA=", + "lastModified": 1701040486, + "narHash": "sha256-vawYwoHA5CwvjfqaT3A5CT9V36Eq43gxdwpux32Qkjw=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "911ad1e67f458b6bcf0278fa85e33bb9924fed7e", + "rev": "45827faa2132b8eade424f6bdd48d8828754341a", "type": "github" }, "original": { @@ -296,11 +296,11 @@ }, "nur": { "locked": { - "lastModified": 1699837452, - "narHash": "sha256-aUg0+0MOPgDZtyDa4kcTLC7+zpnQWb5B3k9THN0uAOc=", + "lastModified": 1701074228, + "narHash": "sha256-uCgX8pNMzAp7zKAUAA509U1WNRMV/iL+wEWynnUY12o=", "owner": "nix-community", "repo": "NUR", - "rev": "4cd37582b4d49983cf61ef3789f9dc58ff4a54f1", + "rev": "7a780b49e43f5318aa23956cbe5ab7478a9793d1", "type": "github" }, "original": { @@ -319,11 +319,11 @@ ] }, "locked": { - "lastModified": 1699638264, - "narHash": "sha256-EGT10Ig8OFUY5T0nwnNuLa4z++yjaqfSQT/5Tyo1Z60=", + "lastModified": 1700267030, + "narHash": "sha256-1ke+7xrkCVOI13RJ1w6EjCGcJywkN3bbTKbLWAt4jaE=", "owner": "pjones", "repo": "plasma-manager", - "rev": "56c325e68d69b9682bcb1be99650b6c28bedb93d", + "rev": "019a8fd22a26c8d59f63aa9cc8a9c1729d6ffbda", "type": "github" }, "original": { diff --git a/home-mods/desktop/default.nix b/home-mods/desktop/default.nix index 2d43e35..b109404 100644 --- a/home-mods/desktop/default.nix +++ b/home-mods/desktop/default.nix @@ -21,6 +21,7 @@ in packages = with pkgs.unstable-pkgs; [ airshipper + ardour blender bitwarden brave @@ -30,11 +31,13 @@ in element-desktop inkscape jellyfin-media-player + miraclecast kate krita libsForQt5.kdeconnect-kde libsForQt5.plasma-vault libsForQt5.plasma-browser-integration + natron neofetch nextcloud-client onlyoffice-bin diff --git a/home-mods/firefox/default.nix b/home-mods/firefox/default.nix index 618f48c..0f30833 100644 --- a/home-mods/firefox/default.nix +++ b/home-mods/firefox/default.nix @@ -5,7 +5,7 @@ }: { programs.firefox = { enable = true; - package = pkgs.unstable-pkgs.firefox-beta; + package = pkgs.unstable-pkgs.firefox; profiles = { default = { diff --git a/home-mods/plasma/default.nix b/home-mods/plasma/default.nix index 4e9c46f..a6bac52 100644 --- a/home-mods/plasma/default.nix +++ b/home-mods/plasma/default.nix @@ -1,6 +1,7 @@ { programs.plasma = { enable = true; + workspace.theme = "breeze-dark"; shortcuts = { "KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K"; "kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S"; @@ -154,7 +155,7 @@ "kdeglobals"."General"."LastUsedCustomAccentColor" = "233,100,58"; "kdeglobals"."General"."XftHintStyle" = "hintmedium"; "kdeglobals"."General"."XftSubPixel" = "rgb"; - "kdeglobals"."General"."fixed" = "FiraCode Nerd Font,10,-1,5,50,0,0,0,0,0"; + "kdeglobals"."General"."fixed" = "Iosevka Nerd Font Mono,10,-1,5,50,0,0,0,0,0"; "kdeglobals"."KDE"."AnimationDurationFactor" = 0.250000; "kdeglobals"."KDE"."widgetStyle" = "Breeze"; "kdeglobals"."KFileDialog Settings"."Allow Expansion" = false; diff --git a/home-mods/shell/default.nix b/home-mods/shell/default.nix index c62a6bf..58a4dbd 100644 --- a/home-mods/shell/default.nix +++ b/home-mods/shell/default.nix @@ -15,10 +15,11 @@ let ref = "main"; rev = "c7392136bed264258c9b8788b14410e1ff06d602"; }; - myEmacs = (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages (epkgs: with epkgs; [ - vterm - treesit-grammars.with-all-grammars - ]); + myEmacs = (pkgs.emacsPackagesFor pkgs.emacs-pgtk).emacsWithPackages (epkgs: + with epkgs; [ + vterm + treesit-grammars.with-all-grammars + ]); in { programs = { @@ -118,9 +119,9 @@ in user = "root"; identityFile = "~/.ssh/id_v81_ed25519"; }; - "desk-arch" = { - host = "desk-arch"; - hostname = "tristan-desk-arch"; + "nixos-desk" = { + host = "nixos-desk"; + hostname = "nixos-desk"; user = "tristand"; identityFile = "~/.ssh/id_v81_ed25519"; }; diff --git a/os-mods/cachix/default.nix b/os-mods/cachix/default.nix index 82b23cd..9795187 100644 --- a/os-mods/cachix/default.nix +++ b/os-mods/cachix/default.nix @@ -1,6 +1,8 @@ # WARN: this file will get overwritten by $ cachix use -{ pkgs, lib, ... }: - +{ pkgs +, lib +, ... +}: let folder = ./caches; toImport = name: value: folder + ("/" + name); diff --git a/os-mods/desktop/default.nix b/os-mods/desktop/default.nix index fabf722..7826dd0 100644 --- a/os-mods/desktop/default.nix +++ b/os-mods/desktop/default.nix @@ -22,7 +22,7 @@ mplus-outline-fonts.githubRelease dina-font proggyfonts - (nerdfonts.override { fonts = [ "FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly" ]; }) + (nerdfonts.override { fonts = [ "Iosevka" "IosevkaTerm" "FiraCode" "DroidSansMono" "NerdFontsSymbolsOnly" ]; }) ]; networking.firewall = { diff --git a/os-mods/network/default.nix b/os-mods/network/default.nix index 7db1f38..961a783 100644 --- a/os-mods/network/default.nix +++ b/os-mods/network/default.nix @@ -5,9 +5,13 @@ }: { networking.networkmanager.enable = true; networking.nameservers = [ - "23.88.68.113#dns.vlt81.de" - "2a01:4f8:272:5917::baad:c0de#dns.vlt81.de" + "1.1.1.1#one.one.one.one" + "1.0.0.1#one.one.one.one" "100.64.0.8#dns.vlt81.de" + # "23.88.68.113#dns.vlt81.de" + # "2a01:4f8:272:5917::baad:c0de#dns.vlt81.de" + # "45.90.28.0#921984.dns.nextdns.io" + # "45.90.30.0#921984.dns.nextdns.io" ]; services = { @@ -16,12 +20,12 @@ dnssec = "true"; domains = [ "~." ]; fallbackDns = [ + # "1.1.1.1#one.one.one.one" + # "1.0.0.1#one.one.one.one" "45.90.28.0#921984.dns.nextdns.io" "45.90.30.0#921984.dns.nextdns.io" "2a07:a8c0::#921984.dns.nextdns.io" "2a07:a8c1::#921984.dns.nextdns.io" - "1.1.1.1#one.one.one.one" - "1.0.0.1#one.one.one.one" ]; extraConfig = '' DNSOverTLS=yes diff --git a/systems/nixos-pulse/default.nix b/systems/nixos-pulse/default.nix index 5d74e4c..4a1b274 100644 --- a/systems/nixos-pulse/default.nix +++ b/systems/nixos-pulse/default.nix @@ -9,6 +9,7 @@ imports = [ (modulesPath + "/installer/scan/not-detected.nix") ../../os-mods/amdgpu + ../../os-mods/cachix ../../os-mods/common ../../os-mods/desktop ../../os-mods/network @@ -83,6 +84,29 @@ }; }; + fileSystems."/mnt/ServerF" = { + # device = "//srv-nas-01.local/Server_F"; + device = "//192.168.0.1/Server_F"; + fsType = "cifs"; + options = + let + # this line prevents hanging on network split + automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; + in + [ "${automount_opts},vers=2.0,credentials=/home/tristand/.smb-secrets" ]; + }; + fileSystems."/mnt/Scans" = { + # device = "//srv-nas-01.local/Server_F"; + device = "//192.168.0.1/Scans"; + fsType = "cifs"; + options = + let + # this line prevents hanging on network split + automount_opts = "x-systemd.automount,noauto,x-systemd.idle-timeout=60,x-systemd.device-timeout=5s,x-systemd.mount-timeout=5s"; + in + [ "${automount_opts},vers=2.0,credentials=/home/tristand/.smb-secrets" ]; + }; + systemd = { services = { # This manually configures the automatically created network-adresses service to be more flexible @@ -102,6 +126,7 @@ ''; }; }; + services.power-profiles-daemon.enable = true; services.udev.extraRules = '' ACTION=="add", KERNEL=="enp5s0f4u1u1c2", TAG+="systemd", ENV{SYSTEMD_WANTS}="network-addresses-enp5s0f4u1u1c2.service" ACTION=="remove", KERNEL=="enp5s0f4u1u1c2", RUN+="${pkgs.systemd}/bin/systemctl stop network-addresses-enp5s0f4u1u1c2.service" @@ -110,6 +135,8 @@ # energy saving stuff powerManagement.powertop.enable = true; + environment.systemPackages = with pkgs.unstable-os; [ android-tools android-udev-rules ]; + hardware = { i2c.enable = true; tuxedo-control-center = {