9 Commits

Author SHA1 Message Date
julian 831f49e8bd Update flake 2026-04-24 11:53:22 +02:00
julian 8acb99770c Add devenv to v3ms 2026-04-24 11:52:20 +02:00
julian 7488da102e Add tmux to v3ms 2026-04-24 11:52:20 +02:00
julian be5e9cce07 Fix screenshots on hyprland
Update Nix Flake / update-flake (push) Failing after 12s
2026-04-13 08:25:30 +02:00
julian 0eddfbef58 Install .desktop file for smath-studio
Update Nix Flake / update-flake (push) Failing after 19s
2026-03-26 09:02:32 +01:00
julian bdb85b6161 Add smath-studio packet 2026-03-26 08:50:33 +01:00
julian 64392b695e Fix recursion on self
Update Nix Flake / update-flake (push) Failing after 22s
2026-03-23 21:57:18 +01:00
julian 8896788bfd Delete unneeded standalone hm configs 2026-03-23 20:58:19 +01:00
julian eec600d1d0 Move common host features to features-nixos folder 2026-03-23 20:57:12 +01:00
46 changed files with 130 additions and 98 deletions
+1 -1
View File
@@ -5,7 +5,7 @@ keys:
- &kardorf-ssh age15lxw97z03q40xrdscnxqqugh5ky5aqrerg2t2rphkcqm6rnllurq8v98q5 - &kardorf-ssh age15lxw97z03q40xrdscnxqqugh5ky5aqrerg2t2rphkcqm6rnllurq8v98q5
creation_rules: creation_rules:
- path_regex: hosts/common/secrets.yaml$ - path_regex: hosts/secrets-common.yaml$
key_groups: key_groups:
- age: - age:
- *primary - *primary
@@ -1,4 +1,5 @@
{ {
pwd,
inputs, inputs,
config, config,
... ...
@@ -18,5 +19,5 @@ in {
generateKey = false; # TODO: building should not work without secrets!? generateKey = false; # TODO: building should not work without secrets!?
}; };
sops.defaultSopsFile = ../secrets.yaml; sops.defaultSopsFile = "${pwd}/hosts/secrets-common.yaml";
} }
@@ -1,4 +1,5 @@
{ {
pwd,
pkgs, pkgs,
config, config,
lib, lib,
@@ -29,7 +30,7 @@ in {
]; ];
openssh.authorizedKeys.keys = lib.splitString "\n" ( openssh.authorizedKeys.keys = lib.splitString "\n" (
builtins.readFile ../../../../homes/julian/ssh.pub builtins.readFile ./ssh.pub
); );
# hashedPasswordFile = config.sops.secrets.julian-password.path; # hashedPasswordFile = config.sops.secrets.julian-password.path;
hashedPassword = "$y$j9T$N33kLJQbV8soUoCbDkpwA1$r/yahJDgOPo4GGOrAi6BUG5zLTzmaBrA5NQ4nno561A"; hashedPassword = "$y$j9T$N33kLJQbV8soUoCbDkpwA1$r/yahJDgOPo4GGOrAi6BUG5zLTzmaBrA5NQ4nno561A";
@@ -40,11 +41,11 @@ in {
}; };
sops.secrets.julian-password = { sops.secrets.julian-password = {
sopsFile = ../../secrets.yaml; sopsFile = "${pwd}/hosts/secrets-common.yaml";
neededForUsers = true; neededForUsers = true;
}; };
home-manager.users.julian = import ../../../../homes/julian/${config.networking.hostName}.nix; home-manager.users.julian = import "${pwd}/homes/julian/${config.networking.hostName}.nix";
security.pam.services.swaylock = {}; # Make swaylock unlocking work security.pam.services.swaylock = {}; # Make swaylock unlocking work
} }
Generated
+24 -24
View File
@@ -58,11 +58,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1769524058, "lastModified": 1776613567,
"narHash": "sha256-zygdD6X1PcVNR2PsyK4ptzrVEiAdbMqLos7utrMDEWE=", "narHash": "sha256-gC9Cp5ibBmGD5awCA9z7xy6MW6iJufhazTYJOiGlCUI=",
"owner": "nix-community", "owner": "nix-community",
"repo": "disko", "repo": "disko",
"rev": "71a3fc97d80881e91710fe721f1158d3b96ae14d", "rev": "32f4236bfc141ae930b5ba2fb604f561fed5219d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -203,11 +203,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770260404, "lastModified": 1775425411,
"narHash": "sha256-3iVX1+7YUIt23hBx1WZsUllhbmP2EnXrV8tCRbLxHc8=", "narHash": "sha256-KY6HsebJHEe5nHOWP7ur09mb0drGxYSzE3rQxy62rJo=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "0d782ee42c86b196acff08acfbf41bb7d13eed5b", "rev": "0d02ec1d0a05f88ef9e74b516842900c41f0f2fe",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -373,11 +373,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1772945408, "lastModified": 1776575850,
"narHash": "sha256-PMt48sEQ8cgCeljQ9I/32uoBq/8t8y+7W/nAZhf72TQ=", "narHash": "sha256-28Gqz0GDpGsBv8GtAn2dywEQRr+CtTDsD5J7VD6icBE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "nix-index-database", "repo": "nix-index-database",
"rev": "1c1d8ea87b047788fd7567adf531418c5da321ec", "rev": "3b9653a107c736222b5ae0d4036dd3b885219065",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -445,11 +445,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1770882871, "lastModified": 1775490113,
"narHash": "sha256-nw5g+xl3veea+maxJ2/81tMEA/rPq9aF1H5XF35X+OE=", "narHash": "sha256-2ZBhDNZZwYkRmefK5XLOusCJHnoeKkoN95hoSGgMxWM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "af04cb78aa85b2a4d1c15fc7270347e0d0eda97b", "rev": "c775c2772ba56e906cbeb4e0b2db19079ef11ff7",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -491,11 +491,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1770841267, "lastModified": 1776548001,
"narHash": "sha256-9xejG0KoqsoKEGp2kVbXRlEYtFFcDTHjidiuX8hGO44=", "narHash": "sha256-ZSK0NL4a1BwVbbTBoSnWgbJy9HeZFXLYQizjb2DPF24=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ec7c70d12ce2fc37cb92aff673dcdca89d187bae", "rev": "b12141ef619e0a9c1c84dc8c684040326f27cdcc",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -535,11 +535,11 @@
}, },
"nixpkgs_4": { "nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1770770419, "lastModified": 1776434932,
"narHash": "sha256-iKZMkr6Cm9JzWlRYW/VPoL0A9jVKtZYiU4zSrVeetIs=", "narHash": "sha256-gyqXNMgk3sh+ogY5svd2eNLJ6oEwzbAeaoBrrxD0lKk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "6c5e707c6b5339359a9a9e215c5e66d6d802fd7a", "rev": "c7f47036d3df2add644c46d712d14262b7d86c0c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -647,11 +647,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1770683991, "lastModified": 1776771786,
"narHash": "sha256-xVfPvXDf9QN3Eh9dV+Lw6IkWG42KSuQ1u2260HKvpnc=", "narHash": "sha256-DRFGPfFV6hbrfO9a1PH1FkCi7qR5FgjSqsQGGvk1rdI=",
"owner": "Mic92", "owner": "Mic92",
"repo": "sops-nix", "repo": "sops-nix",
"rev": "8b89f44c2cc4581e402111d928869fe7ba9f7033", "rev": "bef289e2248991f7afeb95965c82fbcd8ff72598",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -786,11 +786,11 @@
"yazi-flavors": { "yazi-flavors": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1770522883, "lastModified": 1775725639,
"narHash": "sha256-tCAJXPV7s1akc+zHGdWjmdMPG4NpBE92vcO7LAvI5TI=", "narHash": "sha256-Gm6ThktOLUR+KDs6f3s1WCgrw2TOKQ4tolVvVdCxnCM=",
"owner": "yazi-rs", "owner": "yazi-rs",
"repo": "flavors", "repo": "flavors",
"rev": "4c5753789ea535540e868e2764127be9230cef23", "rev": "06708015bfb53b169d99bb3907829f9175105d57",
"type": "github" "type": "github"
}, },
"original": { "original": {
+5 -26
View File
@@ -76,10 +76,6 @@
import nixpkgs { import nixpkgs {
inherit system; inherit system;
config.allowUnfree = true; config.allowUnfree = true;
config.permittedInsecurePackages = [
"olm-3.2.16"
];
warn-dirty = false;
} }
); );
in { in {
@@ -89,7 +85,6 @@
homeManagerModules = import ./modules/home-manager; homeManagerModules = import ./modules/home-manager;
overlays = import ./overlays {inherit inputs outputs;}; overlays = import ./overlays {inherit inputs outputs;};
# hydraJobs = import ./hydra.nix { inherit inputs outputs; }; # TODO add hydra jobs here?
packages = forEachSystem (pkgs: import ./packages {inherit pkgs;}); packages = forEachSystem (pkgs: import ./packages {inherit pkgs;});
devShells = forEachSystem (pkgs: import ./shell.nix {inherit pkgs;}); devShells = forEachSystem (pkgs: import ./shell.nix {inherit pkgs;});
@@ -103,45 +98,27 @@
]; ];
specialArgs = { specialArgs = {
inherit inputs outputs; inherit inputs outputs;
pwd = "${self}";
}; };
}; };
kardorf = lib.nixosSystem { kardorf = lib.nixosSystem {
modules = [./hosts/kardorf]; modules = [./hosts/kardorf];
specialArgs = { specialArgs = {
inherit inputs outputs; inherit inputs outputs;
pwd = "${self}";
}; };
}; };
builder = lib.nixosSystem { builder = lib.nixosSystem {
modules = [./hosts/builder]; modules = [./hosts/builder];
specialArgs = { specialArgs = {
inherit inputs outputs; inherit inputs outputs;
pwd = "${self}";
}; };
}; };
}; };
# Standalone HM # Standalone HM
homeConfigurations = { homeConfigurations = {
# Main laptop
"julian@aspi" = lib.homeManagerConfiguration {
modules = [
./homes/julian/aspi.nix
./homes/julian/hm-standalone-config.nix
];
pkgs = pkgsFor.x86_64-linux;
extraSpecialArgs = {
inherit inputs outputs;
};
};
"julian@kardorf" = lib.homeManagerConfiguration {
modules = [
./homes/julian/kardorf.nix
./homes/julian/hm-standalone-config.nix
];
pkgs = pkgsFor.x86_64-linux;
extraSpecialArgs = {
inherit inputs outputs;
};
};
"julian@v3ms" = lib.homeManagerConfiguration { "julian@v3ms" = lib.homeManagerConfiguration {
modules = [ modules = [
./homes/julian/v3ms ./homes/julian/v3ms
@@ -150,6 +127,7 @@
pkgs = pkgsFor.x86_64-linux; pkgs = pkgsFor.x86_64-linux;
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs outputs; inherit inputs outputs;
pwd = "${self}";
}; };
}; };
"julian@quickstart" = lib.homeManagerConfiguration { "julian@quickstart" = lib.homeManagerConfiguration {
@@ -160,6 +138,7 @@
pkgs = pkgsFor.x86_64-linux; pkgs = pkgsFor.x86_64-linux;
extraSpecialArgs = { extraSpecialArgs = {
inherit inputs outputs; inherit inputs outputs;
pwd = "${self}";
}; };
}; };
}; };
@@ -183,6 +183,16 @@ in {
}; };
}; };
# Disable animations for selection, fixes screenshots
extraConfig = ''
# layerrule {
# name = no_anim_for_selection
# no_anim = on
# match:namespace = selection
# }
layerrule = noanim, selection
'';
settings = { settings = {
"$mod" = "SUPER"; "$mod" = "SUPER";
@@ -68,6 +68,7 @@
## My scripts ## My scripts
frajul.deploy-to-pianopi frajul.deploy-to-pianopi
frajul.smath-studio
# frajul.rtklib # frajul.rtklib
(pkgs.writeShellScriptBin "matlab-rsp" '' (pkgs.writeShellScriptBin "matlab-rsp" ''
+1
View File
@@ -14,6 +14,7 @@
../features/emacs ../features/emacs
../features/nix-helper ../features/nix-helper
../features/qt-distrobox ../features/qt-distrobox
../features/tmux
]; ];
hostName = "aspi"; hostName = "aspi";
+1
View File
@@ -39,4 +39,5 @@ with pkgs; [
devbox # reproducible dev envs based on nix devbox # reproducible dev envs based on nix
mysql80 mysql80
devenv
] ]
+17 -17
View File
@@ -1,28 +1,28 @@
{ {pwd, ...}: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../common/global "${pwd}/features-nixos/global"
../common/users/julian "${pwd}/features-nixos/users/julian"
../common/optional/binarycaches.nix "${pwd}/features-nixos/optional/binarycaches.nix"
../common/optional/remote-builder.nix "${pwd}/features-nixos/optional/remote-builder.nix"
../common/optional/boot-efi.nix "${pwd}/features-nixos/optional/boot-efi.nix"
../common/optional/greetd.nix "${pwd}/features-nixos/optional/greetd.nix"
../common/optional/authentication.nix "${pwd}/features-nixos/optional/authentication.nix"
../common/optional/pcmanfm.nix "${pwd}/features-nixos/optional/pcmanfm.nix"
../common/optional/pipewire.nix "${pwd}/features-nixos/optional/pipewire.nix"
../common/optional/gamemode.nix "${pwd}/features-nixos/optional/gamemode.nix"
../common/optional/virtualbox.nix "${pwd}/features-nixos/optional/virtualbox.nix"
../common/optional/podman.nix "${pwd}/features-nixos/optional/podman.nix"
../common/optional/wireguard.nix "${pwd}/features-nixos/optional/wireguard.nix"
../common/optional/wireshark.nix "${pwd}/features-nixos/optional/wireshark.nix"
../common/optional/flatpak.nix "${pwd}/features-nixos/optional/flatpak.nix"
../common/optional/avahi.nix "${pwd}/features-nixos/optional/avahi.nix"
]; ];
networking.hostName = "aspi"; networking.hostName = "aspi";
+7 -6
View File
@@ -2,6 +2,7 @@
# or # or
# deploy .#builder # deploy .#builder
{ {
pwd,
config, config,
pkgs, pkgs,
... ...
@@ -9,11 +10,11 @@
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../common/global/fish.nix # fish for admin "${pwd}/features-nixos/global/fish.nix" # fish for admin
../common/global/locale.nix "${pwd}/features-nixos/global/locale.nix"
../common/global/nix.nix "${pwd}/features-nixos/global/nix.nix"
../common/global/sops.nix "${pwd}/features-nixos/global/sops.nix"
../common/global/root.nix "${pwd}/features-nixos/global/root.nix"
]; ];
networking.hostName = "builder"; networking.hostName = "builder";
@@ -176,7 +177,7 @@
minimumDiskFreeEvaluator = 4; # in GB minimumDiskFreeEvaluator = 4; # in GB
}; };
# add builder itself as build machine so system emulation is properly supported # add builder itpwd as build machine so system emulation is properly supported
# nix.distributedBuilds = true; # nix.distributedBuilds = true;
nix.buildMachines = [ nix.buildMachines = [
{ {
+20 -19
View File
@@ -1,30 +1,31 @@
{pkgs, ...}: { {
pwd,
pkgs,
...
}: {
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
../common/global "${pwd}/features-nixos/global"
../common/users/julian "${pwd}/features-nixos/users/julian"
../common/users/wolfi "${pwd}/features-nixos/users/wolfi"
../common/optional/binarycaches.nix "${pwd}/features-nixos/optional/binarycaches.nix"
# ../common/optional/xserver.nix "${pwd}/features-nixos/optional/remote-builder.nix"
../common/optional/remote-builder.nix "${pwd}/features-nixos/optional/boot-efi.nix"
../common/optional/boot-efi.nix
../common/optional/greetd.nix "${pwd}/features-nixos/optional/greetd.nix"
../common/optional/authentication.nix "${pwd}/features-nixos/optional/authentication.nix"
../common/optional/pcmanfm.nix "${pwd}/features-nixos/optional/pcmanfm.nix"
../common/optional/pipewire.nix "${pwd}/features-nixos/optional/pipewire.nix"
../common/optional/virtualbox.nix "${pwd}/features-nixos/optional/openssh.nix"
# ../common/optional/gdm.nix "${pwd}/features-nixos/optional/virtualbox.nix"
# ../common/optional/i3.nix
../common/optional/openssh.nix "${pwd}/features-nixos/optional/podman.nix"
"${pwd}/features-nixos/optional/wireshark.nix"
../common/optional/podman.nix "${pwd}/features-nixos/optional/flatpak.nix"
../common/optional/flatpak.nix
]; ];
networking.hostName = "kardorf"; networking.hostName = "kardorf";
+1 -1
View File
@@ -22,7 +22,7 @@
}; };
# Adds my custom packages, available as pkgs.frajul.xyz # Adds my custom packages, available as pkgs.frajul.xyz
my-pkgs = final: prev: {frajul = import ../pkgs {pkgs = final;};}; frajul-pkgs = final: prev: {frajul = import ../packages {pkgs = final;};};
nixpkgs-stable-unstable = final: prev: { nixpkgs-stable-unstable = final: prev: {
unstable = import inputs.nixpkgs-unstable { unstable = import inputs.nixpkgs-unstable {
+1
View File
@@ -13,6 +13,7 @@
wl-ocr = pkgs.callPackage ./wl-ocr {}; wl-ocr = pkgs.callPackage ./wl-ocr {};
rtklib = pkgs.qt6Packages.callPackage ./rtklib {}; rtklib = pkgs.qt6Packages.callPackage ./rtklib {};
typst-languagetool = pkgs.callPackage ./typst-languagetool {}; typst-languagetool = pkgs.callPackage ./typst-languagetool {};
smath-studio = pkgs.callPackage ./smath-studio.nix {};
# rpi-ws281x-python = pkgs.callPackage ./rpi-ws281x-python {}; # rpi-ws281x-python = pkgs.callPackage ./rpi-ws281x-python {};
# piano-led-visualizer = pkgs.callPackage ./piano-led-visualizer {}; # piano-led-visualizer = pkgs.callPackage ./piano-led-visualizer {};
+35
View File
@@ -0,0 +1,35 @@
{
appimageTools,
fetchurl,
libgdiplus,
}: let
pname = "smath-studio";
version = "1.3.0.9126";
src = fetchurl {
url = "https://smath.com/en-US/files/Download/cqSek/SMathStudioDesktop.1_3_0_9126.x86_64.ubuntu-22_04.glibc2.35.AppImage";
hash = "sha256-4FpdFGPFaPDK6WWSJHVtxcC8auaNkGmHyUtbegij6cQ=";
};
appimageContents = appimageTools.extractType2 {
inherit pname version src;
};
in
appimageTools.wrapType2 {
inherit pname version src;
extraPkgs = pkgs:
with pkgs; [
gtk2
];
profile = ''
export LD_PRELOAD="${libgdiplus}/lib/libgdiplus.so.0"
'';
extraInstallCommands = ''
install -m 444 -D ${appimageContents}/*.desktop -t $out/share/applications
sed -i "s|^Exec=.*|Exec=smath-studio %U|" $out/share/applications/*.desktop
cp -r ${appimageContents}/usr/share/icons $out/share
'';
}