diff --git a/etcnixos/common.nix b/etcnixos/common.nix index 48869fa..70f49ec 100644 --- a/etcnixos/common.nix +++ b/etcnixos/common.nix @@ -12,6 +12,7 @@ imports = [ ./declarative-nm.nix ./distrobox.nix + ./vm.nix inputs.nixos-hardware.nixosModules.common-pc-ssd ]; @@ -54,6 +55,11 @@ initrd = { compressor = "zstd"; }; + + kernelModules = [ + "ip_tables" + "iptable_nat" + ]; }; environment.etc = { @@ -203,6 +209,8 @@ glib usbutils libmtp + man-pages + man-pages-posix ]; # wayland with electron/chromium applications @@ -221,4 +229,9 @@ }; system.stateVersion = "24.11"; + + documentation.enable = true; + documentation.man.enable = true; + documentation.dev.enable = true; + } diff --git a/etcnixos/distrobox.nix b/etcnixos/distrobox.nix index f85b99e..cd1a5b8 100644 --- a/etcnixos/distrobox.nix +++ b/etcnixos/distrobox.nix @@ -4,5 +4,8 @@ enable = true; }; - environment.systemPackages = [ pkgs.distrobox ]; + environment.systemPackages = [ + pkgs.distrobox + pkgs.podman-compose + ]; } diff --git a/etcnixos/flake.lock b/etcnixos/flake.lock index b79e967..7473c52 100644 --- a/etcnixos/flake.lock +++ b/etcnixos/flake.lock @@ -10,11 +10,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1723293904, - "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", + "lastModified": 1736955230, + "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", "owner": "ryantm", "repo": "agenix", - "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", + "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", "type": "github" }, "original": { @@ -152,11 +152,11 @@ "rust-overlay": "rust-overlay" }, "locked": { - "lastModified": 1734994463, - "narHash": "sha256-S9MgfQjNt4J3I7obdLOVY23h+Yl/hnyibwGfOl+1uOE=", + "lastModified": 1737639419, + "narHash": "sha256-AEEDktApTEZ5PZXNDkry2YV2k6t0dTgLPEmAZbnigXU=", "owner": "nix-community", "repo": "lanzaboote", - "rev": "93e6f0d77548be8757c11ebda5c4235ef4f3bc67", + "rev": "a65905a09e2c43ff63be8c0e86a93712361f871e", "type": "github" }, "original": { @@ -167,11 +167,11 @@ }, "nixos-hardware": { "locked": { - "lastModified": 1735388221, - "narHash": "sha256-e5IOgjQf0SZcFCEV/gMGrsI0gCJyqOKShBQU0iiM3Kg=", + "lastModified": 1737590910, + "narHash": "sha256-qM/y6Dtpu9Wmf5HqeZajQdn+cS0aljdYQQQnrvx+LJE=", "owner": "NixOS", "repo": "nixos-hardware", - "rev": "7c674c6734f61157e321db595dbfcd8523e04e19", + "rev": "9368027715d8dde4b84c79c374948b5306fdd2db", "type": "github" }, "original": { @@ -183,11 +183,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735531152, - "narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=", + "lastModified": 1737569578, + "narHash": "sha256-6qY0pk2QmUtBT9Mywdvif0i/CLVgpCjMUn6g9vB+f3M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b", + "rev": "47addd76727f42d351590c905d9d1905ca895b82", "type": "github" }, "original": { diff --git a/etcnixos/system-mreow.nix b/etcnixos/system-mreow.nix index 45724fe..f1079b8 100644 --- a/etcnixos/system-mreow.nix +++ b/etcnixos/system-mreow.nix @@ -15,8 +15,6 @@ inputs.lanzaboote.nixosModules.lanzaboote ]; - time.timeZone = lib.mkForce "Europe/Stockholm"; - services.tlp = { enable = true; settings = { @@ -118,5 +116,10 @@ # https://github.com/NixOS/nixos-hardware/pull/1253 # hardware.framework.laptop13.audioEnhancement = { # enable = true; - # }; + # };i + + # disable framework kernel module + # https://github.com/NixOS/nixos-hardware/issues/1330 + + hardware.framework.enableKmod = false; } diff --git a/etcnixos/vm.nix b/etcnixos/vm.nix new file mode 100644 index 0000000..f3428a1 --- /dev/null +++ b/etcnixos/vm.nix @@ -0,0 +1,14 @@ +{ pkgs, username, ... }: +{ + + programs.virt-manager.enable = true; + + users.groups.libvirtd.members = [ username ]; + + virtualisation.libvirtd.enable = true; + + virtualisation.spiceUSBRedirection.enable = true; + + users.users."${username}".extraGroups = [ "libvirtd" ]; + +} diff --git a/home-manager/flake.lock b/home-manager/flake.lock index a6a2fb5..2c96501 100644 --- a/home-manager/flake.lock +++ b/home-manager/flake.lock @@ -12,11 +12,11 @@ "systems": "systems" }, "locked": { - "lastModified": 1723293904, - "narHash": "sha256-b+uqzj+Wa6xgMS9aNbX4I+sXeb5biPDi39VgvSFqFvU=", + "lastModified": 1736955230, + "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=", "owner": "ryantm", "repo": "agenix", - "rev": "f6291c5935fdc4e0bef208cfc0dcab7e3f7a1c41", + "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c", "type": "github" }, "original": { @@ -54,11 +54,11 @@ ] }, "locked": { - "lastModified": 1735381016, - "narHash": "sha256-CyCZFhMUkuYbSD6bxB/r43EdmDE7hYeZZPTCv0GudO4=", + "lastModified": 1737669579, + "narHash": "sha256-v9WQ3c4ctwPMfdBZMZxpdM9xXev4uChce4BxOpvsu0E=", "owner": "nix-community", "repo": "home-manager", - "rev": "10e99c43cdf4a0713b4e81d90691d22c6a58bdf2", + "rev": "7b9ece1bf3c8780cde9b975b28c2d9ccd7e9cdb9", "type": "github" }, "original": { @@ -79,11 +79,11 @@ "xwayland-satellite-unstable": "xwayland-satellite-unstable" }, "locked": { - "lastModified": 1735591802, - "narHash": "sha256-oAridSudDNmdIFXYAj7tikcU0NwM3RNSLY4Qu1Khv8A=", + "lastModified": 1737627930, + "narHash": "sha256-oaAatwNVaX36xmI2AKIVu2oG07XJmHq2T+Y66hEprd8=", "owner": "sodiboo", "repo": "niri-flake", - "rev": "bdcb629b3a8d62b4aff1b0484f74d5ad33dcf544", + "rev": "f79aa307f4bc0bfbabee404e6354fd2a1edfcb01", "type": "github" }, "original": { @@ -95,16 +95,16 @@ "niri-stable": { "flake": false, "locked": { - "lastModified": 1731483594, - "narHash": "sha256-Qjf7alRbPPERfiZsM9EMKX+HwjESky1tieh5PJIkLwE=", + "lastModified": 1736614405, + "narHash": "sha256-AJ1rlgNOPb3/+DbS5hkhm21t6Oz8IgqLllwmZt0lyzk=", "owner": "YaLTeR", "repo": "niri", - "rev": "75c79116a7e40cbc0e110ce0cdd500e896458679", + "rev": "e05bc269e678ecf828b96ae79c991c13b00b38a5", "type": "github" }, "original": { "owner": "YaLTeR", - "ref": "v0.1.10.1", + "ref": "v25.01", "repo": "niri", "type": "github" } @@ -112,11 +112,11 @@ "niri-unstable": { "flake": false, "locked": { - "lastModified": 1735586144, - "narHash": "sha256-YenL+60BJHF2cc4htz/iKEMgYd9dNfegzgH9tMBMhEY=", + "lastModified": 1737623252, + "narHash": "sha256-orq/c8lOUrZfCHQhfuLEJtMZpfBYhMtGv1Xuz99Pxj0=", "owner": "YaLTeR", "repo": "niri", - "rev": "4741ab2e0465275d58c36db426b169c742d964cf", + "rev": "128b01e04905d833214f52a3c6fab308bcc15ce0", "type": "github" }, "original": { @@ -127,11 +127,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1735531152, - "narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=", + "lastModified": 1737569578, + "narHash": "sha256-6qY0pk2QmUtBT9Mywdvif0i/CLVgpCjMUn6g9vB+f3M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b", + "rev": "47addd76727f42d351590c905d9d1905ca895b82", "type": "github" }, "original": { @@ -143,11 +143,11 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1735531152, - "narHash": "sha256-As8I+ebItDKtboWgDXYZSIjGlKeqiLBvjxsQHUmAf1Q=", + "lastModified": 1737569578, + "narHash": "sha256-6qY0pk2QmUtBT9Mywdvif0i/CLVgpCjMUn6g9vB+f3M=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "3ffbbdbac0566a0977da3d2657b89cbcfe9a173b", + "rev": "47addd76727f42d351590c905d9d1905ca895b82", "type": "github" }, "original": { @@ -174,11 +174,11 @@ ] }, "locked": { - "lastModified": 1735612067, - "narHash": "sha256-rsjojgfPUf9tWuMXuuo2KAIoUZ49XGZQJSjFGOO8Cq4=", + "lastModified": 1737599167, + "narHash": "sha256-S2rHCrQWCDVp63XxL/AQbGr1g5M8Zx14C7Jooa4oM8o=", "owner": "oxalica", "repo": "rust-overlay", - "rev": "d199142e84bfaae476ffb4e09a70879d7918784d", + "rev": "38374302ae9edf819eac666d1f276d62c712dd06", "type": "github" }, "original": { @@ -222,11 +222,11 @@ "xwayland-satellite-unstable": { "flake": false, "locked": { - "lastModified": 1734745564, - "narHash": "sha256-JQNl4pqonVVPQ2JzEOLUcPVRNj//FFFNRDyvQoOkG7s=", + "lastModified": 1736487362, + "narHash": "sha256-4kGoOA7FgK9N2mzS+TFEn41kUUNY6KwdiA/0rqlr868=", "owner": "Supreeeme", "repo": "xwayland-satellite", - "rev": "94da1af75326d89ecb12aba0cc9362e93ffdc766", + "rev": "8f55e27f63a749881c4bbfbb6b1da028342a91d1", "type": "github" }, "original": { @@ -242,11 +242,11 @@ ] }, "locked": { - "lastModified": 1735682290, - "narHash": "sha256-RFx8K81xEIca2zRvq5U7ufbB4BtX7NHbd32XM2Rd0mQ=", + "lastModified": 1737656612, + "narHash": "sha256-Lfi7TNgkEEz1mbTpwltdzUfTdZ1Ez1F9M9a7NRU3K3I=", "owner": "0xc000022070", "repo": "zen-browser-flake", - "rev": "b5e7bd3defc733771f8aad0532c39d567f8f2aed", + "rev": "654bb9ee35d1116f401c72f545bf307fb62bfb3c", "type": "github" }, "original": { diff --git a/home-manager/gui.nix b/home-manager/gui.nix index 2a4a435..60f19c8 100644 --- a/home-manager/gui.nix +++ b/home-manager/gui.nix @@ -12,6 +12,7 @@ # gpt4all broken https://github.com/NixOS/nixpkgs/pull/346185 ./progs/gpt4all/gpt4all.nix + ./progs/trezor.nix ]; nixpkgs.config.allowUnfreePredicate = @@ -102,12 +103,19 @@ rawtherapee hugin + # nufraw + nufraw-thumbnailer + gdk-pixbuf nautilus - nufraw enblend-enfuse nerdfonts + + savvycan + + # simple screen recording on wayland + wl-screenrec ]; # ++ (builtins.filter lib.isDerivation (builtins.attrValues nerd-fonts)); @@ -126,6 +134,7 @@ "nix" "sql" "CSV" + "assembly" ]; }; @@ -171,14 +180,22 @@ }; }; - #qt application theming - qt = { - enable = true; - style = { - name = "breeze-dark"; - package = pkgs.kdePackages.breeze; - }; - }; + #qt application theming - BROKEN and on fire + # qt = { + # enable = true; + # platformTheme = { + # name = "adwaita"; + # package = [ + # pkgs.adwaita-qt + # pkgs.adwaita-qt6 + # ]; + # }; + + # style = { + # name = "adwaita-dark"; + # package = pkgs.adwaita-qt; + # }; + # }; #macOS cursor! home.pointerCursor = { @@ -187,4 +204,11 @@ name = "macOS"; size = 24; }; + + dconf.settings = { + "org/virt-manager/virt-manager/connections" = { + autoconnect = [ "qemu:///system" ]; + uris = [ "qemu:///system" ]; + }; + }; } diff --git a/home-manager/libs.nix b/home-manager/libs.nix new file mode 100644 index 0000000..c62047c --- /dev/null +++ b/home-manager/libs.nix @@ -0,0 +1,4 @@ +{ pkgs, ... }: +{ + +} diff --git a/home-manager/no-gui.nix b/home-manager/no-gui.nix index 5816a1a..76c474f 100644 --- a/home-manager/no-gui.nix +++ b/home-manager/no-gui.nix @@ -88,7 +88,7 @@ nixfmt-rfc-style # serial viewer - # minicom + minicom # "~~matt's~~ my trace route" mtr @@ -110,6 +110,10 @@ mypy # type checking pyserial + + numpy + matplotlib + notebook ] )) @@ -136,6 +140,8 @@ imagemagick nixpkgs-review + + nmap ]; home.file.".cargo/config.toml".text = '' diff --git a/home-manager/progs/alacritty.nix b/home-manager/progs/alacritty.nix index c8f9750..b7e2c6a 100644 --- a/home-manager/progs/alacritty.nix +++ b/home-manager/progs/alacritty.nix @@ -15,7 +15,7 @@ decorations = "none"; # semi-transparent - opacity = 0.95; + opacity = 0.975; # padding between the content of the terminal and the edge padding = { diff --git a/home-manager/progs/niri.nix b/home-manager/progs/niri.nix index d28e532..fb38db3 100644 --- a/home-manager/progs/niri.nix +++ b/home-manager/progs/niri.nix @@ -57,8 +57,7 @@ { command = [ "${pkgs.xwayland-satellite-unstable}/bin/xwayland-satellite" - # (builtins.toString config.programs.niri.settings.environment.DISPLAY) - ":0" + (builtins.toString config.programs.niri.settings.environment.DISPLAY) ]; } ]; diff --git a/home-manager/progs/rss.nix b/home-manager/progs/rss.nix index 97515ca..8add383 100644 --- a/home-manager/progs/rss.nix +++ b/home-manager/progs/rss.nix @@ -9,11 +9,6 @@ url = "https://www.factorio.com/blog/rss"; } - { - title = "Firefox Nightly News"; - url = "https://blog.nightly.mozilla.org/feed/"; - } - { title = "Servo Blog"; url = "https://servo.org/blog/feed.xml"; @@ -54,11 +49,6 @@ url = "https://jarbus.net/index.xml"; } - { - title = "Terence Eden"; - url = "https://shkspr.mobi/blog/feed/atom/"; - } - { title = "GioCities"; url = "https://blog.giovanh.com/feeds/atom.xml"; @@ -69,11 +59,6 @@ url = "https://mcyoung.xyz/atom.xml"; } - { - title = "Embrace the Red"; - url = "https://embracethered.com/blog/index.xml"; - } - { title = "Chips and Cheese"; url = "https://chipsandcheese.com/feed/"; diff --git a/home-manager/progs/trezor.nix b/home-manager/progs/trezor.nix new file mode 100644 index 0000000..86e5f20 --- /dev/null +++ b/home-manager/progs/trezor.nix @@ -0,0 +1,12 @@ +{ pkgs, lib, ... }: +{ + nixpkgs.config.allowUnfree = true; + home.packages = with pkgs; [ + trezor-udev-rules + trezord + trezor-suite + monero-gui + monero-cli + trezorctl + ]; +}