This commit is contained in:
Lucy Hochkamp 2025-04-24 19:47:30 +02:00
parent b69b80c93f
commit 11bd02cf4f
No known key found for this signature in database
18 changed files with 177 additions and 26 deletions

32
flake.lock generated
View file

@ -193,16 +193,15 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1744117652, "lastModified": 1745494811,
"narHash": "sha256-t7dFCDl4vIOOUMhEZnJF15aAzkpaup9x4ZRGToDFYWI=", "narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "b4e98224ad1336751a2ac7493967a4c9f6d9cb3f", "rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nix-community", "owner": "nix-community",
"ref": "release-24.11",
"repo": "home-manager", "repo": "home-manager",
"type": "github" "type": "github"
} }
@ -312,6 +311,22 @@
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz" "url": "https://git.lix.systems/lix-project/nixos-module/archive/2.92.0-3.tar.gz"
} }
}, },
"mobile-nixos": {
"flake": false,
"locked": {
"lastModified": 1743812405,
"narHash": "sha256-BedQ9Z3+nqtp9BRjHjJNPUeLIMVbTsP3Udbz0b1cUn0=",
"owner": "mobile-nixos",
"repo": "mobile-nixos",
"rev": "6679fd7a8dd4ccf4aa538b82216723861cfe61a2",
"type": "github"
},
"original": {
"owner": "mobile-nixos",
"repo": "mobile-nixos",
"type": "github"
}
},
"nix-flatpak": { "nix-flatpak": {
"locked": { "locked": {
"lastModified": 1739444422, "lastModified": 1739444422,
@ -346,16 +361,16 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1744168086, "lastModified": 1745391562,
"narHash": "sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ=", "narHash": "sha256-sPwcCYuiEopaafePqlG826tBhctuJsLx/mhKKM5Fmjo=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "60e405b241edb6f0573f3d9f944617fe33ac4a73", "rev": "8a2f738d9d1f1d986b5a4cd2fd2061a7127237d7",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "nixos", "owner": "nixos",
"ref": "nixos-24.11", "ref": "nixos-unstable",
"repo": "nixpkgs", "repo": "nixpkgs",
"type": "github" "type": "github"
} }
@ -447,6 +462,7 @@
"kmonad": "kmonad", "kmonad": "kmonad",
"lanzaboote": "lanzaboote", "lanzaboote": "lanzaboote",
"lix-module": "lix-module", "lix-module": "lix-module",
"mobile-nixos": "mobile-nixos",
"nix-flatpak": "nix-flatpak", "nix-flatpak": "nix-flatpak",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",

View file

@ -2,10 +2,12 @@
description = "xyno doin nixos"; description = "xyno doin nixos";
inputs = { inputs = {
nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs?ref=nixos-unstable";
nixpkgs-master.url = "github:nixos/nixpkgs?ref=master"; nixpkgs-master.url = "github:nixos/nixpkgs?ref=master";
mobile-nixos.url = "github:mobile-nixos/mobile-nixos";
mobile-nixos.flake = false;
nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest"; nix-flatpak.url = "github:gmodena/nix-flatpak?ref=latest";
home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager.url = "github:nix-community/home-manager";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
quadlet.url = "github:SEIAROTg/quadlet-nix"; quadlet.url = "github:SEIAROTg/quadlet-nix";
@ -34,7 +36,6 @@
helix.inputs.nixpkgs.follows = "nixpkgs-master"; helix.inputs.nixpkgs.follows = "nixpkgs-master";
csharp-language-server.url = "github:sofusa/csharp-language-server"; csharp-language-server.url = "github:sofusa/csharp-language-server";
csharp-language-server.inputs.nixpkgs.follows = "nixpkgs-master"; csharp-language-server.inputs.nixpkgs.follows = "nixpkgs-master";
}; };
@ -69,15 +70,16 @@
config.allowUnfree = true; config.allowUnfree = true;
}; };
}; };
nixosConfigurations = nixosConfigurations = lib.xyno.loadInstances ./instances (
lib.xyno.loadInstances ./instances ([ [
inputs.lix-module.nixosModules.default inputs.lix-module.nixosModules.default
inputs.kmonad.nixosModules.default inputs.kmonad.nixosModules.default
inputs.home-manager.nixosModules.default inputs.home-manager.nixosModules.default
inputs.lanzaboote.nixosModules.lanzaboote inputs.lanzaboote.nixosModules.lanzaboote
inputs.quadlet.nixosModules.quadlet inputs.quadlet.nixosModules.quadlet
] ]
++ (import ./modules/module-list.nix)); ++ (import ./modules/module-list.nix)
);
devShell."x86_64-linux" = devShell."x86_64-linux" =
let let
pkgs = genPkgs "x86_64-linux"; pkgs = genPkgs "x86_64-linux";

View file

@ -17,13 +17,13 @@ in
nodePackages_latest.typescript-language-server nodePackages_latest.typescript-language-server
nodePackages_latest.vscode-langservers-extracted nodePackages_latest.vscode-langservers-extracted
## python ## python
ruff-lsp # ruff-lsp
# nodePackages_latest.pyright # nodePackages_latest.pyright
inputs.csharp-language-server.packages.${pkgs.system}.csharp-language-server # inputs.csharp-language-server.packages.${pkgs.system}.csharp-language-server
netcoredbg netcoredbg
]; ];
programs.helix = { programs.helix = {
package = inputs.helix.packages.${pkgs.system}.default; package = inputs.helix.packages.${pkgs.stdenv.hostPlatform.system}.default;
enable = true; enable = true;
defaultEditor = true; defaultEditor = true;
settings = { settings = {

View file

@ -0,0 +1,82 @@
{
config,
pkgs,
inputs,
lib,
...
}:
{
nixpkgs.system = "aarch64-linux";
nixpkgs.buildPlatform = { system = "x86_64-linux"; };
nixpkgs.hostPlatform = { system = "aarch64-linux"; };
imports = [ (import "${inputs.mobile-nixos}/lib/configuration.nix" { device = "lenovo-krane";} ) ];
mobile.boot.stage-1.kernel.useStrictKernelConfig = lib.mkDefault true;
# hardware.keyboard.zsa.enable = true;
services.gnome.core-utilities.enable = lib.mkForce false;
users.users.root.initialPassword = "hunter2";
# users.users.xyno.initialPassword = "hunter2";
# home-manager.users.${config.xyno.system.user.name} = (
# { ... }:
# {
# xyno.git.enable = true;
# xyno.borgmatic.enable = true;
# home.packages = [
# # work
# pkgs.jetbrains.rider
# (pkgs.firefox-devedition.overrideAttrs (super: self: { meta.priority = 1; }))
# ];
# services.flatpak.update.auto.enable = true;
# services.flatpak = {
# enable = true;
# packages = [
# "com.unicornsonlsd.finamp"
# # "io.github.softfever.OrcaSlicer"
# "io.anytype.anytype"
# "org.bionus.Grabber"
# "org.getmonero.Monero"
# {
# appId = "org.gimp.GIMP";
# origin = "flathub-beta";
# }
# "org.kicad.KiCad"
# "org.pencil2d.Pencil2D"
# ];
# };
# }
# );
# environment.systemPackages = with pkgs; [
# aerc
# glib # rider wants gsettings
# ];
time.timeZone = "Europe/Berlin";
networking.firewall.allowedTCPPorts = [ 1880 2021 ];
networking.firewall.allowedUDPPorts = [ 1880 2021 ];
# services.tailscale.enable = true;
# services.tailscale.useRoutingFeatures = "client";
# xyno.desktop.common-programs.enable = true;
# xyno.hardware.kmonad.enable = true;
# xyno.presets.cli.enable = true;
# xyno.presets.gui.enable = true;
# xyno.presets.home-manager.enable = true;
# xyno.system.user.enable = true;
# xyno.user-services.syncthing = {
# enable = true;
# tray = true;
# };
xyno.networking.networkd = {
enable = true;
enableWifi = true;
};
# xyno.desktop.easyeffects.enable = true;
# xyno.desktop.fcitx5.enable = true;
# hardware.bluetooth.enable = true;
# services.blueman.enable = true;
services.power-profiles-daemon.enable = true;
programs.kdeconnect.enable = true;
# services.flatpak.enable = true;
system.stateVersion = "24.11";
programs.nh.enable = true;
}

View file

@ -0,0 +1,4 @@
{
modules = [ ./configuration.nix ];
hostName = "minos";
}

View file

@ -6,8 +6,10 @@
... ...
}: }:
{ {
nixpkgs.system = "x86_64-linux";
imports = [ ./hardware-configuration.nix ]; imports = [ ./hardware-configuration.nix ];
hardware.keyboard.zsa.enable = true; hardware.keyboard.zsa.enable = true;
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
home-manager.users.${config.xyno.system.user.name} = ( home-manager.users.${config.xyno.system.user.name} = (
{ ... }: { ... }:
{ {
@ -64,7 +66,8 @@
enable = true; enable = true;
enableWifi = true; enableWifi = true;
}; };
xyno.desktop.fcitx5.enable = true; xyno.desktop.easyeffects.enable = true;
# xyno.desktop.fcitx5.enable = true;
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
services.blueman.enable = true; services.blueman.enable = true;
services.power-profiles-daemon.enable = true; services.power-profiles-daemon.enable = true;

View file

@ -1,5 +1,4 @@
{ {
modules = [ ./configuration.nix ]; modules = [ ./configuration.nix ];
system = "x86_64-linux";
hostName = "theseus"; hostName = "theseus";
} }

View file

@ -15,7 +15,6 @@ rec {
loadInstance = loadInstance =
extraModules: instance: extraModules: instance:
nixpkgs.lib.nixosSystem { nixpkgs.lib.nixosSystem {
system = instance.system;
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
modules = modules =
instance.modules instance.modules

View file

@ -0,0 +1,43 @@
{
pkgs,
config,
lib,
...
}:
let
cfg = config.xyno.desktop.easyeffects;
in
{
options.xyno.desktop.easyeffects.enable = lib.mkEnableOption "enable easyeffects sound thingy";
options.xyno.desktop.easyeffects.wantedBy = lib.mkOption {
type = lib.types.str;
default = "niri.service";
};
options.xyno.desktop.easyeffects.package = lib.mkOption {
type = lib.types.package;
default = pkgs.easyeffects;
};
config = lib.mkIf cfg.enable {
environment.systemPackages = [ cfg.package ];
systemd.user.services.easyeffects = {
unitConfig = {
Description = "Easyeffects daemon";
Requires = [ "dbus.service" ];
After = [ cfg.wantedBy ];
PartOf = [
cfg.wantedBy
"pipewire.service"
];
};
wantedBy = [ cfg.wantedBy ];
serviceConfig = {
ExecStart = "${cfg.package}/bin/easyeffects --gapplication-service";
ExecStop = "${cfg.package}/bin/easyeffects --quit";
Restart = "on-failure";
RestartSec = 5;
};
};
};
}

View file

@ -32,7 +32,7 @@ in
unitConfig.Requisite = "graphical-session.target"; unitConfig.Requisite = "graphical-session.target";
serviceConfig.Restart = "on-failure"; serviceConfig.Restart = "on-failure";
wantedBy = [ cfg.wantedBy ]; wantedBy = [ cfg.wantedBy ];
script = "${cfg.package}/bin/mako -c ${makoConf}"; script = "exec ${cfg.package}/bin/mako -c ${makoConf}";
restartTriggers = [makoConf]; restartTriggers = [makoConf];
}; };
}; };

View file

@ -26,7 +26,7 @@ in
unitConfig.Requisite = "graphical-session.target"; unitConfig.Requisite = "graphical-session.target";
serviceConfig.Restart = "on-failure"; serviceConfig.Restart = "on-failure";
wantedBy = [ cfg.wantedBy ]; wantedBy = [ cfg.wantedBy ];
script = "${cfg.package}/libexec/polkit-mate-authentication-agent-1"; script = "exec ${cfg.package}/libexec/polkit-mate-authentication-agent-1";
}; };
}; };
} }

View file

@ -25,7 +25,7 @@ in
unitConfig.Requisite = "graphical-session.target"; unitConfig.Requisite = "graphical-session.target";
serviceConfig.Restart = "on-failure"; serviceConfig.Restart = "on-failure";
wantedBy = [ cfg.wantedBy ]; wantedBy = [ cfg.wantedBy ];
script = "${cfg.package}/bin/shikane"; script = "exec ${cfg.package}/bin/shikane";
}; };
}; };
} }

View file

@ -39,7 +39,7 @@ in
unitConfig.Requisite = "graphical-session.target"; unitConfig.Requisite = "graphical-session.target";
serviceConfig.Restart = "on-failure"; serviceConfig.Restart = "on-failure";
wantedBy = [ cfg.wantedBy ]; wantedBy = [ cfg.wantedBy ];
script = "${cfg.package}/bin/swayidle -w timeout 310 'niri msg action power-off-monitors' timeout 300 '${cfg.swaylockPackage}/bin/swaylock ${cfg.swaylockArgs}' before-sleep '${cfg.swaylockPackage}/bin/swaylock ${cfg.swaylockArgs}'"; script = "exec ${cfg.package}/bin/swayidle -w timeout 310 'niri msg action power-off-monitors' timeout 300 '${cfg.swaylockPackage}/bin/swaylock ${cfg.swaylockArgs}' before-sleep '${cfg.swaylockPackage}/bin/swaylock ${cfg.swaylockArgs}'";
}; };
}; };
} }

View file

@ -32,7 +32,7 @@ in
unitConfig.Requisite = "graphical-session.target"; unitConfig.Requisite = "graphical-session.target";
serviceConfig.Restart = "on-failure"; serviceConfig.Restart = "on-failure";
wantedBy = [ cfg.wantedBy ]; wantedBy = [ cfg.wantedBy ];
script = "${cfg.package}/bin/wpaperd -c ${wpaperdConf}"; script = "exec ${cfg.package}/bin/wpaperd -c ${wpaperdConf}";
restartTriggers = [wpaperdConf]; restartTriggers = [wpaperdConf];
}; };
}; };

View file

@ -3,6 +3,7 @@
./cli/starship.nix ./cli/starship.nix
./desktop/audio.nix ./desktop/audio.nix
./desktop/common-programs.nix ./desktop/common-programs.nix
./desktop/easyeffects.nix
./desktop/fcitx5.nix ./desktop/fcitx5.nix
./desktop/foot.nix ./desktop/foot.nix
./desktop/fuzzel.nix ./desktop/fuzzel.nix

View file

@ -74,6 +74,7 @@ in
helix helix
lm_sensors lm_sensors
dig dig
nix-output-monitor
(pkgs.writeShellScriptBin "sudo" "run0 $@") (pkgs.writeShellScriptBin "sudo" "run0 $@")
]; ];
programs.mosh.enable = true; programs.mosh.enable = true;

View file

@ -92,7 +92,7 @@ in
# fonts # fonts
fonts.packages = with pkgs; [ fonts.packages = with pkgs; [
nerdfonts nerd-fonts.jetbrains-mono
cantarell-fonts cantarell-fonts
dejavu_fonts dejavu_fonts
source-code-pro # Default monospace font in 3.32 source-code-pro # Default monospace font in 3.32

View file

@ -30,6 +30,7 @@ in
"tape" "tape"
"uucp" "uucp"
"wireshark" "wireshark"
]; ];
}; };