diff --git a/flake.lock b/flake.lock index 9457803..8b933cc 100644 --- a/flake.lock +++ b/flake.lock @@ -23,11 +23,11 @@ }, "catppuccin": { "locked": { - "lastModified": 1731232837, - "narHash": "sha256-0aIwr/RC/oe7rYkfJb47xjdEQDSNcqpFGsEa+EPlDEs=", + "lastModified": 1733001911, + "narHash": "sha256-uX/9m0TbdhEzuWA0muM5mI/AaWcLiDLjCCyu5Qr9MRk=", "owner": "catppuccin", "repo": "nix", - "rev": "32359bf226fe874d3b7a0a5753d291a4da9616fe", + "rev": "a817009ebfd2cca7f70a77884e5098d0a8c83f8e", "type": "github" }, "original": { @@ -80,11 +80,11 @@ ] }, "locked": { - "lastModified": 1731549112, - "narHash": "sha256-c9I3i1CwZ10SoM5npQQVnfwgvB86jAS3lT4ZqkRoSOI=", + "lastModified": 1733168902, + "narHash": "sha256-8dupm9GfK+BowGdQd7EHK5V61nneLfr9xR6sc5vtDi0=", "owner": "nix-community", "repo": "disko", - "rev": "5fd852c4155a689098095406500d0ae3d04654a8", + "rev": "785c1e02c7e465375df971949b8dcbde9ec362e5", "type": "github" }, "original": { @@ -100,11 +100,11 @@ "pyproject-nix": "pyproject-nix" }, "locked": { - "lastModified": 1731424167, - "narHash": "sha256-nKKeRwq7mxcW8cBTmPKzSg0DR/inVrtuJudVM81GISU=", + "lastModified": 1732214960, + "narHash": "sha256-ViyEMSYwaza6y55XTDrsRi2K4YKCLsefMTorjWSE27s=", "owner": "nix-community", "repo": "dream2nix", - "rev": "44d41411686bc798876bd6d9f36a4c1143138d85", + "rev": "a8dac99db44307fdecead13a39c584b97812d0d4", "type": "github" }, "original": { @@ -119,11 +119,11 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1731574827, - "narHash": "sha256-QneOtCpfBNkgJCs32Y8LaKDpontw7W9ATQxIW4qb6qc=", + "lastModified": 1733473330, + "narHash": "sha256-u+omEO2O4TaUIxOCkCBbgYC9piLN4NEiq/nYwB8hCRY=", "owner": "nix-community", "repo": "emacs-overlay", - "rev": "4639038b0f5e66e7d0f3d103b8e44ded3ab7e337", + "rev": "e3ac055c27f9268a294c911578c7cb04c087c7ab", "type": "github" }, "original": { @@ -209,11 +209,11 @@ ] }, "locked": { - "lastModified": 1727826117, - "narHash": "sha256-K5ZLCyfO/Zj9mPFldf3iwS6oZStJcU4tSpiXTMYaaL0=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "3d04084d54bedc3d6b8b736c70ef449225c361b1", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -230,11 +230,11 @@ ] }, "locked": { - "lastModified": 1722555600, - "narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=", + "lastModified": 1730504689, + "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "8471fe90ad337a8074e957b69ca4d0089218391d", + "rev": "506278e768c2a08bec68eb62932193e341f55c90", "type": "github" }, "original": { @@ -287,11 +287,11 @@ "systems": "systems_2" }, "locked": { - "lastModified": 1726560853, - "narHash": "sha256-X6rJYSESBVr3hBoH0WbKE5KvhPU5bloyZ2L4K60/fPQ=", + "lastModified": 1731533236, + "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=", "owner": "numtide", "repo": "flake-utils", - "rev": "c1dfcf08411b08f6b8615f7d8971a2bfa81d5e8a", + "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b", "type": "github" }, "original": { @@ -323,11 +323,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1730504689, - "narHash": "sha256-hgmguH29K2fvs9szpq2r3pz2/8cJd2LPS+b4tfNFCwE=", + "lastModified": 1733312601, + "narHash": "sha256-4pDvzqnegAfRkPwO3wmwBhVi/Sye1mzps0zHWYnP88c=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "506278e768c2a08bec68eb62932193e341f55c90", + "rev": "205b12d8b7cd4802fbcb8e8ef6a0f1408781a4f9", "type": "github" }, "original": { @@ -361,11 +361,11 @@ "nixpkgs-stable": "nixpkgs-stable_2" }, "locked": { - "lastModified": 1731363552, - "narHash": "sha256-vFta1uHnD29VUY4HJOO/D6p6rxyObnf+InnSMT4jlMU=", + "lastModified": 1733318908, + "narHash": "sha256-SVQVsbafSM1dJ4fpgyBqLZ+Lft+jcQuMtEL3lQWx2Sk=", "owner": "cachix", "repo": "git-hooks.nix", - "rev": "cd1af27aa85026ac759d5d3fccf650abe7e1bbf0", + "rev": "6f4e2a2112050951a314d2733a994fbab94864c6", "type": "github" }, "original": { @@ -485,11 +485,11 @@ ] }, "locked": { - "lastModified": 1731535640, - "narHash": "sha256-2EckCJn4wxran/TsRiCOFcmVpep2m9EBKl99NBh2GnM=", + "lastModified": 1733484277, + "narHash": "sha256-i5ay20XsvpW91N4URET/nOc0VQWOAd4c4vbqYtcH8Rc=", "owner": "nix-community", "repo": "home-manager", - "rev": "35b055009afd0107b69c286fca34d2ad98940d57", + "rev": "d00c6f6d0ad16d598bf7e2956f52c1d9d5de3c3a", "type": "github" }, "original": { @@ -546,11 +546,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1730739295, - "narHash": "sha256-aYeJ/P/9AuK6Kee63ZdsmDjEwhnksF+gIv/OyGtlBJE=", + "lastModified": 1731941836, + "narHash": "sha256-zpmAzrvK8KdssBSwiIwwRxaUJ77oWORbW0XFvgCFpTE=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "cef39a78679c266300874e7a7000b4da066228d4", + "rev": "2f48272f34174fd2a5ab3df4d8a46919247be879", "type": "github" }, "original": { @@ -589,11 +589,11 @@ "treefmt-nix": "treefmt-nix" }, "locked": { - "lastModified": 1731185443, - "narHash": "sha256-9qkRZFTgbMonlBaLqL+OW6iiHLWXuBJlThISMhwQuGg=", + "lastModified": 1732351635, + "narHash": "sha256-H94CcQ3yamG5+RMxtxXllR02YIlxQ5WD/8PcolO9yEA=", "ref": "refs/heads/main", - "rev": "57ddb99e781d19704f8a84036f9890e6ca554c41", - "revCount": 613, + "rev": "dfc286ca3dc49118c30d8d6205d6d6af76c62b7a", + "revCount": 617, "type": "git", "url": "https://git.lix.systems/lix-project/nix-eval-jobs" }, @@ -614,11 +614,11 @@ ] }, "locked": { - "lastModified": 1731185731, - "narHash": "sha256-RNaIu43b9PoXEhW4OqXUNZKY/jezQyCYWwdv1M0VjsA=", + "lastModified": 1732603698, + "narHash": "sha256-Jw2MhzgCCrKV2MJytehG0cCLIAosBX71p8qmQ6XQlR4=", "ref": "refs/heads/main", - "rev": "691193879d96bdfd1e6ab5ebcca2fadc7604cf34", - "revCount": 117, + "rev": "15b999f9c958c475f71fb8c543b9fc2f36ae8730", + "revCount": 123, "type": "git", "url": "https://git.lix.systems/lix-project/nixos-module" }, @@ -630,11 +630,11 @@ "mobile-nixos": { "flake": false, "locked": { - "lastModified": 1730912712, - "narHash": "sha256-T5A9I6Tfh9zrv9sRWfu/ZKN6VkE670YQ6bjC5sbpTzk=", + "lastModified": 1732728683, + "narHash": "sha256-gp7JS5X27aH+J/A0kCWsPTNiq8a+5m+hZ5Bs/BcurI4=", "owner": "NixOS", "repo": "mobile-nixos", - "rev": "2268e358ed407d9c0a4499ae767d105eeaeec586", + "rev": "d6befd062162de8a70ae9943b76eb08204446f8a", "type": "github" }, "original": { @@ -652,11 +652,11 @@ "treefmt-nix": "treefmt-nix_2" }, "locked": { - "lastModified": 1730278911, - "narHash": "sha256-CrbqsC+lEA3w6gLfpqfDMDEKoEta2sl4sbQK6Z/gXak=", + "lastModified": 1733069686, + "narHash": "sha256-lThMnu0otRxDTso07OU72+RZrUNokXwLKTjzTWGrxUo=", "owner": "Mic92", "repo": "nix-fast-build", - "rev": "8e7c9d76979381441facb8888f21408312cf177a", + "rev": "95f5dc09a725a1916fd064f01eb3be9a5f487095", "type": "github" }, "original": { @@ -699,11 +699,11 @@ ] }, "locked": { - "lastModified": 1729742964, - "narHash": "sha256-B4mzTcQ0FZHdpeWcpDYPERtyjJd/NIuaQ9+BV1h+MpA=", + "lastModified": 1731952509, + "narHash": "sha256-p4gB3Rhw8R6Ak4eMl8pqjCPOLCZRqaehZxdZ/mbFClM=", "owner": "nix-community", "repo": "nix-github-actions", - "rev": "e04df33f62cdcf93d73e9a04142464753a16db67", + "rev": "7b5f051df789b6b20d259924d349a9ba3319b226", "type": "github" }, "original": { @@ -740,11 +740,11 @@ "nixpkgs": "nixpkgs_5" }, "locked": { - "lastModified": 1731454423, - "narHash": "sha256-TtwvgFxUa0wyptLhQbKaixgNW1UXf3+TDqfX3Kp63oM=", + "lastModified": 1733351379, + "narHash": "sha256-MTMsAhXxMMVHVN99jT8E0afOAOtt3JQWjYpTja94PAU=", "owner": "LnL7", "repo": "nix-darwin", - "rev": "6c71c49e2448e51ad830ed211024e6d0edc50116", + "rev": "55d07816a0944f06a9df5ef174999a72fa4060c7", "type": "github" }, "original": { @@ -763,11 +763,11 @@ "osx-kvm": "osx-kvm" }, "locked": { - "lastModified": 1731194612, - "narHash": "sha256-xOvzIdIFzy1LUgGLlOcimeHruZPLJpVdeEoHVOpH7sM=", + "lastModified": 1732478008, + "narHash": "sha256-Axdo+bDlmFU19lBWIkhbAeV7RMO1JD9T1t51sfcWCTA=", "owner": "MatthewCroughan", "repo": "NixThePlanet", - "rev": "ef5fad336a55fcbb0680ad21aa58812b2f826435", + "rev": "00d07c86548805eab1bc0dac2f95fce8d7e9aac6", "type": "github" }, "original": { @@ -778,11 +778,11 @@ }, "nixosHardware": { "locked": { - "lastModified": 1731403644, - "narHash": "sha256-T9V7CTucjRZ4Qc6pUEV/kpgNGzQbHWfGcfK6JJLfUeI=", + "lastModified": 1733481457, + "narHash": "sha256-IS3bxa4N1VMSh3/P6vhEAHQZecQ3oAlKCDvzCQSO5Is=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "f6581f1c3b137086e42a08a906bdada63045f991", + "rev": "e563803af3526852b6b1d77107a81908c66a9fcf", "type": "github" }, "original": { @@ -841,14 +841,14 @@ }, "nixpkgs-lib": { "locked": { - "lastModified": 1730504152, - "narHash": "sha256-lXvH/vOfb4aGYyvFmZK/HlsNsr/0CVWlwYvo2rxJk3s=", + "lastModified": 1733096140, + "narHash": "sha256-1qRH7uAUsyQI7R1Uwl4T+XvdNv778H0Nb5njNrqvylY=", "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" }, "original": { "type": "tarball", - "url": "https://github.com/NixOS/nixpkgs/archive/cc2f28000298e1269cea6612cd06ec9979dd5d7f.tar.gz" + "url": "https://github.com/NixOS/nixpkgs/archive/5487e69da40cbd611ab2cadee0b4637225f7cfae.tar.gz" } }, "nixpkgs-lib_2": { @@ -871,16 +871,16 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1731386116, - "narHash": "sha256-lKA770aUmjPHdTaJWnP3yQ9OI1TigenUqVC3wweqZuI=", + "lastModified": 1733261153, + "narHash": "sha256-eq51hyiaIwtWo19fPEeE0Zr2s83DYMKJoukNLgGGpek=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "689fed12a013f56d4c4d3f612489634267d86529", + "rev": "b681065d0919f7eb5309a93cea2cfa84dec9aa88", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-24.05", + "ref": "nixos-24.11", "repo": "nixpkgs", "type": "github" } @@ -935,11 +935,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1731319897, - "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", + "lastModified": 1733392399, + "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc460ec76cbff0e66e269457d7b728432263166c", + "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", "type": "github" }, "original": { @@ -996,11 +996,11 @@ }, "nixpkgs_7": { "locked": { - "lastModified": 1731319897, - "narHash": "sha256-PbABj4tnbWFMfBp6OcUK5iGy1QY+/Z96ZcLpooIbuEI=", + "lastModified": 1733392399, + "narHash": "sha256-kEsTJTUQfQFIJOcLYFt/RvNxIK653ZkTBIs4DG+cBns=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "dc460ec76cbff0e66e269457d7b728432263166c", + "rev": "d0797a04b81caeae77bcff10a9dde78bc17f5661", "type": "github" }, "original": { @@ -1284,11 +1284,11 @@ ] }, "locked": { - "lastModified": 1729613947, - "narHash": "sha256-XGOvuIPW1XRfPgHtGYXd5MAmJzZtOuwlfKDgxX5KT3s=", + "lastModified": 1732292307, + "narHash": "sha256-5WSng844vXt8uytT5djmqBCkopyle6ciFgteuA9bJpw=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "aac86347fb5063960eccb19493e0cadcdb4205ca", + "rev": "705df92694af7093dfbb27109ce16d828a79155f", "type": "github" }, "original": { @@ -1305,11 +1305,11 @@ ] }, "locked": { - "lastModified": 1723808491, - "narHash": "sha256-rhis3qNuGmJmYC/okT7Dkc4M8CeUuRCSvW6kC2f3hBc=", + "lastModified": 1732894027, + "narHash": "sha256-2qbdorpq0TXHBWbVXaTqKoikN4bqAtAplTwGuII+oAc=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "1d07739554fdc4f8481068f1b11d6ab4c1a4167a", + "rev": "6209c381904cab55796c5d7350e89681d3b2a8ef", "type": "github" }, "original": { @@ -1325,11 +1325,11 @@ ] }, "locked": { - "lastModified": 1730321837, - "narHash": "sha256-vK+a09qq19QNu2MlLcvN4qcRctJbqWkX7ahgPZ/+maI=", + "lastModified": 1733440889, + "narHash": "sha256-qKL3vjO+IXFQ0nTinFDqNq/sbbnnS5bMI1y0xX215fU=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "746901bb8dba96d154b66492a29f5db0693dbfcc", + "rev": "50862ba6a8a0255b87377b9d2d4565e96f29b410", "type": "github" }, "original": { diff --git a/hmModules/cura/default.nix b/hmModules/cura/default.nix index 7b530f3..96a2f2c 100644 --- a/hmModules/cura/default.nix +++ b/hmModules/cura/default.nix @@ -4,7 +4,7 @@ ( let cura5 = pkgs.appimageTools.wrapType2 rec { - name = "cura5"; + pname = "cura5"; version = "5.8.0"; src = pkgs.fetchurl { url = "https://github.com/Ultimaker/Cura/releases/download/${version}/UltiMaker-Cura-${version}-linux-X64.AppImage"; diff --git a/hmModules/emacs/init.el b/hmModules/emacs/init.el index e1bd97a..11b765b 100644 --- a/hmModules/emacs/init.el +++ b/hmModules/emacs/init.el @@ -881,6 +881,8 @@ This is meant to be an helper to be called from the window manager." :custom (gptel-api-key (lambda () (require 'f) (f-read-text (getenv "OPENAI_API_KEY_PATH")))) (gptel-model 'gpt-4o) + (gptel-default-mode 'org-mode) + (gptel-org-branching-context 't) :config (require 'gptel-curl) @@ -919,6 +921,9 @@ This is meant to be an helper to be called from the window manager." ) ;; destroy frame on exit ) +(use-package mixed-pitch + :hook (text-mode . mixed-pitch-mode)) + (use-package pass :config (require 'password-store-otp) ;; FIXME use `use-pacakge' idiomatic way @@ -967,5 +972,26 @@ This is meant to be an helper to be called from the window manager." (:name "GitHub" :query "tag:github" :key "g") (:name "Trash" :query "tag:trash" :key "t")))) +;;; Experiments, remove from here + +(defun ccr/test () + "test" + (interactive) + (with-selected-frame + (make-frame '((name . "emacs-run-launcher") + (minibuffer . only) + (fullscreen . 0) ; no fullscreen + (undecorated . t) ; remove title bar + ;;(auto-raise . t) ; focus on this frame + ;;(tool-bar-lines . 0) + ;;(menu-bar-lines . 0) + (internal-border-width . 10) + (width . 80) + (height . 11))) + (unwind-protect + (completing-read "ciao " '("foo" "bar") nil t "") + (delete-frame)))) + + (provide 'init) ;;; init.el ends here diff --git a/hmModules/sdrangel/default.nix b/hmModules/sdrangel/default.nix new file mode 100644 index 0000000..b241700 --- /dev/null +++ b/hmModules/sdrangel/default.nix @@ -0,0 +1,7 @@ +{ pkgs, ... }: +{ + home.packages = [ + pkgs.sdrangel + pkgs.kdePackages.qtlocation + ]; +} diff --git a/hmModules/shell/default.nix b/hmModules/shell/default.nix index fb10d92..1d68741 100644 --- a/hmModules/shell/default.nix +++ b/hmModules/shell/default.nix @@ -4,6 +4,7 @@ age, hostname, config, + username, ... }: { @@ -59,7 +60,7 @@ settings = { daemon = { enabled = true; - socket_path = "/home/ccr/.local/share/atuin/atuin.sock"; # FIXME using ~ or $HOME doesn't work: https://github.com/atuinsh/atuin/issues/2289 + socket_path = "/home/${username}/.local/share/atuin/atuin.sock"; # FIXME using ~ or $HOME doesn't work: https://github.com/atuinsh/atuin/issues/2289 }; auto_sync = true; sync_frequency = "5m"; diff --git a/hosts/default.nix b/hosts/default.nix index f86454b..aa8d2fb 100644 --- a/hosts/default.nix +++ b/hosts/default.nix @@ -119,6 +119,20 @@ }; }; + + tpol = { + extraModules = with inputs; [ + lix-module.nixosModules.default + ]; + secrets = { + "tpol-wireguard-private-key" = { }; + }; + vpn = { + ip = "10.100.0.7"; + publicKey = "b/Pi7koTFo5CMAAzcL2ulvQ/0dUjKzbmXpvh4Lb/Bgo="; + }; + extraHmModulesUser = "mara"; + }; }; vpnExtra = { diff --git a/hosts/kirk/default.nix b/hosts/kirk/default.nix index 3b17a67..1e60076 100644 --- a/hosts/kirk/default.nix +++ b/hosts/kirk/default.nix @@ -40,7 +40,7 @@ ccr = { enable = true; - autologin = true; + autologin = false; modules = [ "git" "git-workspace" @@ -72,6 +72,8 @@ "catppuccin" "libreoffice" "emacs" + "chirp" + "sdrangel" ]; extraGroups = [ ]; backupPaths = [ ]; @@ -99,6 +101,7 @@ nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; powerManagement.cpuFreqGovernor = lib.mkDefault "schedutil"; hardware.enableRedistributableFirmware = lib.mkDefault true; + hardware.rtl-sdr.enable = true; hardware.graphics = { enable = true; diff --git a/hosts/picard/default.nix b/hosts/picard/default.nix index 5842bf7..c2cf5b9 100644 --- a/hosts/picard/default.nix +++ b/hosts/picard/default.nix @@ -91,8 +91,9 @@ "emacs" "vial" "chirp" + "sdrangel" ]; - extraGroups = [ ]; + extraGroups = [ "plugdev" ]; backupPaths = [ ]; }; diff --git a/hosts/sisko/disko.nix b/hosts/sisko/disko.nix index ba5c708..55ec848 100644 --- a/hosts/sisko/disko.nix +++ b/hosts/sisko/disko.nix @@ -66,8 +66,11 @@ in size = "100%"; content = { type = "filesystem"; - format = "bcachefs"; + format = "xfs"; mountpoint = "/mnt/hd"; + mountOptions = [ + "nofail" + ]; }; }; }; diff --git a/hosts/spock/default.nix b/hosts/spock/default.nix new file mode 100644 index 0000000..c564f78 --- /dev/null +++ b/hosts/spock/default.nix @@ -0,0 +1,48 @@ +{ + lib, + modulesPath, + ... +}: +{ + imports = [ + "${modulesPath}/installer/sd-card/sd-image-aarch64.nix" + ]; + + sdImage.compressImage = false; + + nixpkgs = { + # hostPlatform = lib.mkDefault "armv6-linux"; + # config = { + # allowUnfree = true; + # }; + # overlays = [ + # # Workaround: https://github.com/NixOS/nixpkgs/issues/154163 + # # modprobe: FATAL: Module sun4i-drm not found in directory + # (final: super: { + # makeModulesClosure = x: + # super.makeModulesClosure (x // {allowMissing = true;}); + # }) + # ]; + }; + + fileSystems = { + "/" = { + device = "/dev/disk/by-label/NIXOS_SD"; + fsType = "ext4"; + options = [ "noatime" ]; + }; + }; + + networking = { + networkmanager.enable = false; + }; + + # Set your time zone. + time.timeZone = "Europe/Rome"; + + # Allow the user to log in as root without a password. + users.users.root.initialHashedPassword = ""; + + hardware.enableRedistributableFirmware = true; + system.stateVersion = "24.11"; +} diff --git a/hosts/tpol/default.nix b/hosts/tpol/default.nix new file mode 100644 index 0000000..7793f66 --- /dev/null +++ b/hosts/tpol/default.nix @@ -0,0 +1,94 @@ +{ + modulesPath, + fleetModules, + pkgs, + lib, + vpn, + config, + ... +}: +{ + imports = + [ (modulesPath + "/installer/scan/not-detected.nix") ] + ++ fleetModules [ + "common" + "ssh" + "nix" + "networkmanager" + "dbus" + "udisks2" + "xdg" + "printing" + "mara" + "xfce" + "battery" + "printing" + "wireguard-client" + ]; + + boot.initrd.availableKernelModules = [ + "xhci_pci" + "ehci_pci" + "ahci" + "usb_storage" + "sd_mod" + "sr_mod" + "rtsx_pci_sdmmc" + ]; + boot.initrd.kernelModules = [ ]; + boot.kernelModules = [ "kvm-intel" ]; + boot.extraModulePackages = [ ]; + boot.loader.grub.device = "/dev/sda"; + + fileSystems."/" = { + device = "/dev/disk/by-uuid/1522f8d9-5251-408d-9b6e-ed6da7da916a"; + fsType = "btrfs"; + }; + + swapDevices = [ + { device = "/dev/disk/by-uuid/e111fbc7-8e5d-4fcb-95c9-249f53ab0adc"; } + ]; + + mara = { + enable = true; + modules = [ + "shell" + "mpv" + "firefox" + "git" + "chrome" + "udiskie" + "helix" + "remmina" + ]; + }; + + # nevertheless this is a laptop the battery is completely gone, so it works only attached to electrictiy + powerManagement.cpuFreqGovernor = lib.mkDefault "performance"; + + networking.firewall.allowedTCPPorts = [ 1234 ]; + + hardware.rtl-sdr.enable = true; + + systemd.services.rtl-tcp = { + description = "rtl_sdr over TCP"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = '' + ${lib.getExe' pkgs.rtl-sdr "rtl_tcp"} -a ${vpn.${config.networking.hostName}} + ''; + }; + }; + + systemd.services.sdrangelsrv = { + description = "sdrangelsrv"; + wantedBy = [ "multi-user.target" ]; + serviceConfig = { + ExecStart = '' + ${lib.getExe' pkgs.sdrangel "sdrangelsrv"} --remote-tcp-hwtype RTLSDR --remote-tcp-port 1234 --remote-tcp-address ${ + vpn.${config.networking.hostName} + } --remote-tcp + ''; + }; + }; +} diff --git a/lib/default.nix b/lib/default.nix index a923f7d..9f885c1 100644 --- a/lib/default.nix +++ b/lib/default.nix @@ -12,6 +12,7 @@ pbp = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIFF05LScu9m5BXMlFAT1g+g/AkAi7kvq1dY6W3Rzqq3f"; picard = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJ1+1z1IsLVJ6aGarMgzw3NbmFKcpYVgdUjl7xDsewxT"; deltaflyer = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIPETMwELvGTnhKJbpK0oFs4lK8vm/kV9KdgL9wufYDDQ"; + tpol = "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIQxHSow2l0TDWTonBPPaGvTgVvMS/xsQOf1nHnvLSwV"; }; }; } diff --git a/modules/binfmt/default.nix b/modules/binfmt/default.nix index bd582f7..3f53722 100644 --- a/modules/binfmt/default.nix +++ b/modules/binfmt/default.nix @@ -3,9 +3,10 @@ "i686-linux" "aarch64-linux" "riscv64-linux" + "armv6l-linux" ]; nix.extraOptions = '' - extra-platforms = aarch64-linux arm-linux i686-linux riscv64-linux + extra-platforms = aarch64-linux arm-linux i686-linux riscv64-linux armv6l-linux ''; # XXX For some reason `docker buildx` isn't aware of this: diff --git a/modules/ccr/default.nix b/modules/ccr/default.nix index 3ffa60d..31c7859 100644 --- a/modules/ccr/default.nix +++ b/modules/ccr/default.nix @@ -86,6 +86,7 @@ in "dialout" "systemd-journal" "camera" + "networkmanager" ]; ccr.modules = [ "shell" diff --git a/modules/fonts/default.nix b/modules/fonts/default.nix index e89327a..426f375 100644 --- a/modules/fonts/default.nix +++ b/modules/fonts/default.nix @@ -1,19 +1,21 @@ { pkgs, ... }: { fonts = { - packages = with pkgs; [ - powerline-fonts - dejavu_fonts - fira-code - fira-code-symbols - iosevka - iosevka-comfy.comfy - emacs-all-the-icons-fonts - nerdfonts - joypixels - etBook - vegur - ]; + packages = + with pkgs; + [ + powerline-fonts + dejavu_fonts + fira-code + fira-code-symbols + iosevka + iosevka-comfy.comfy + emacs-all-the-icons-fonts + joypixels + etBook + vegur + ] + ++ (builtins.filter lib.attrsets.isDerivation (builtins.attrValues nerd-fonts)); fontconfig.defaultFonts = { monospace = [ "DejaVu Sans Mono for Powerline" ]; sansSerif = [ "DejaVu Sans" ]; diff --git a/modules/mara/default.nix b/modules/mara/default.nix index 8696519..df60577 100644 --- a/modules/mara/default.nix +++ b/modules/mara/default.nix @@ -4,6 +4,7 @@ pkgs, fleetHmModules, fleetFlake, + vpn, ... }: { @@ -46,20 +47,33 @@ default = [ "wheel" "fuse" - "networkmanager" + "video" "dialout" + "systemd-journal" + "camera" + "networkmanager" ]; }; }; config = lib.mkIf config.mara.enable { + + programs.fish.enable = true; + + mara.modules = [ + "shell" + "git" + "nix-index" + "btop" + ]; + users.users.mara = { uid = 1001; inherit (config.mara) hashedPassword; description = "Mara Savastano"; isNormalUser = true; inherit (config.mara) extraGroups; - shell = pkgs.nushell; + shell = pkgs.fish; openssh.authorizedKeys.keys = config.mara.authorizedKeys; }; @@ -68,7 +82,16 @@ home-manager.useGlobalPkgs = true; home-manager.useUserPackages = true; home-manager.users.mara = { - imports = fleetHmModules config.mara.modules; + imports = fleetHmModules config.mara.modules ++ [ + { + _module.args = { + inherit (config.age) secrets; + inherit vpn; + username = "mara"; + hostname = config.networking.hostName; + }; + } + ]; home.packages = config.mara.packages; home.stateVersion = config.system.stateVersion; }; diff --git a/modules/networkmanager/default.nix b/modules/networkmanager/default.nix index 7259900..4e2eb66 100644 --- a/modules/networkmanager/default.nix +++ b/modules/networkmanager/default.nix @@ -1,6 +1,5 @@ { lib, ... }: { networking.networkmanager.enable = true; - ccr.extraGroups = [ "networkmanager" ]; networking.useDHCP = lib.mkDefault true; } diff --git a/modules/xfce/default.nix b/modules/xfce/default.nix index 2294bb4..3eeff72 100644 --- a/modules/xfce/default.nix +++ b/modules/xfce/default.nix @@ -5,10 +5,11 @@ xterm.enable = false; xfce.enable = true; }; - displayManager = { - defaultSession = "xfce"; - autoLogin.user = "mara"; - }; + }; + + services.displayManager = { + defaultSession = "xfce"; + autoLogin.user = "mara"; }; home-manager.users.mara.home.file."background-image" = { diff --git a/packages/emacs/packages.nix b/packages/emacs/packages.nix index cf81eca..65249d2 100644 --- a/packages/emacs/packages.nix +++ b/packages/emacs/packages.nix @@ -118,6 +118,7 @@ let solidity-mode telega aggressive-indent + mixed-pitch # org-re-reveal # FIXME very not nice hash mismatch when building ] ) diff --git a/secrets/secrets.nix b/secrets/secrets.nix index 2cebf84..a322a52 100644 --- a/secrets/secrets.nix +++ b/secrets/secrets.nix @@ -182,4 +182,8 @@ with keys.users; deltaflyer ]; + "tpol-wireguard-private-key.age".publicKeys = [ + ccr-ssh + tpol + ]; } diff --git a/secrets/tpol-wireguard-private-key.age b/secrets/tpol-wireguard-private-key.age new file mode 100644 index 0000000..f870a1d --- /dev/null +++ b/secrets/tpol-wireguard-private-key.age @@ -0,0 +1,17 @@ +age-encryption.org/v1 +-> ssh-rsa /AagBw +qUiTcrs0L+daa9FAsa80rdJsZCKCJN76KREz7mU7FF3ZBGp4VvisP4hJSjNKheWW +pfVaefXfuIsw2GvGqUjNZMGHj650gGEqMtO6nLuetMuCIWF7uTdPpnNQMK6BB2ni +Wlfu2g4rul6aV+S6KNiVBqlKJn521TOkEutsXFjaAJpnRVOG50P/8k9fPzjXNZnj +NqmMhGjOE8tDs9TM1nWM4yYDX3KMDULvcBHycV3yQRzswEJc4jq9oLS8SbyE+4Hy +dH6hkWLiRMz06Xg4F0XifGY4lglcMiQqNdNe5xMZtuR33Z1GUiY9HGU5FvXmUbQx +HTWTklzH8q0vdEmb2tFftCM8AMeodI3CLBt+DNlQ3V0+izUmOJwTGz5OGfT6SiWY +epMF5kXmZipWu5KsEoY1hv1INvGR84LyicpOT2vPV7cakx9ahlCgV5vhdmcAZy5F +CRAhnvIsZZMHwGV9lmAMI93wgPyU0ybtwjSpPbHAqv0DQj+CBrEY5ict3+HhSe5J +QrfcLRsQRox3QuR/jQvixBX63qNaezYFmpBuWP7XI7PuPj7KdUgECNfMctcVmCSb +xHKmYkf8I8Si1doFOZbYOXheiI/zNk0xLAONPI+LQ6ZemUODhpcpRSSkhcDKQdtC +srxvyTvYOk4IFjmjuk2JyE1Vp6wg+aiySZlyfFA7WQY +-> ssh-ed25519 X7Q5KQ UoryJKCMOKeAkI1dbz8On5q0wSd+XIUCdWI31gyS6D4 +exrVhh9tGzQyToDKcv5sspbeKhdTp1q0wKuHWo+onKQ +--- QkkySHHmaJFZu2BNT0ZZ9NZipUbFqyzxL32YZx5DRbQ +wc^[v$j7Lmt{`0]l聾3 {C\XZ)Z$4d/.L \ No newline at end of file