add spectacle config, add spotify, fix cinny video playback with gstreamer
refactor some stuff to look nicer and have more structure too
This commit is contained in:
parent
56a64c1e0e
commit
dc99f3d24d
15 changed files with 283 additions and 145 deletions
174
flake.lock
generated
174
flake.lock
generated
|
@ -2,18 +2,17 @@
|
|||
"nodes": {
|
||||
"firefox-addons": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"dir": "pkgs/firefox-addons",
|
||||
"lastModified": 1741462124,
|
||||
"narHash": "sha256-CPAkFMLGN9nFtHvWbfEdAM1KFCshr0raxhcWmjzh5Ek=",
|
||||
"lastModified": 1744224429,
|
||||
"narHash": "sha256-ZkRLtzh3KCt0Ve2SYNbo5K6qG01I3aSiTlbrEgE2H08=",
|
||||
"owner": "rycee",
|
||||
"repo": "nur-expressions",
|
||||
"rev": "0bbd4266c08de042ecf51e5fb356be915e839f10",
|
||||
"rev": "706977dba99156d3bcb4a1f097653e8c1ac58cd4",
|
||||
"type": "gitlab"
|
||||
},
|
||||
"original": {
|
||||
|
@ -44,11 +43,11 @@
|
|||
"nixpkgs-lib": "nixpkgs-lib"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1738453229,
|
||||
"narHash": "sha256-7H9XgNiGLKN1G1CgRh0vUL4AheZSYzPm+zmZ7vxbJdo=",
|
||||
"lastModified": 1741352980,
|
||||
"narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "32ea77a06711b758da0ad9bd6a844c5740a87abd",
|
||||
"rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -58,40 +57,6 @@
|
|||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"locked": {
|
||||
"lastModified": 1629284811,
|
||||
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils-plus": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715533576,
|
||||
"narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=",
|
||||
"owner": "gytis-ivaskevicius",
|
||||
"repo": "flake-utils-plus",
|
||||
"rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gytis-ivaskevicius",
|
||||
"repo": "flake-utils-plus",
|
||||
"rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems"
|
||||
},
|
||||
|
@ -109,7 +74,26 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"flake-utils-plus": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715533576,
|
||||
"narHash": "sha256-fT4ppWeCJ0uR300EH3i7kmgRZnAVxrH+XtK09jQWihk=",
|
||||
"owner": "gytis-ivaskevicius",
|
||||
"repo": "flake-utils-plus",
|
||||
"rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "gytis-ivaskevicius",
|
||||
"repo": "flake-utils-plus",
|
||||
"rev": "3542fe9126dc492e53ddd252bb0260fe035f2c0f",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
|
@ -134,11 +118,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741461731,
|
||||
"narHash": "sha256-BBQfGvO3GWOV+5tmqH14gNcZrRaQ7Q3tQx31Frzoip8=",
|
||||
"lastModified": 1744223888,
|
||||
"narHash": "sha256-reYpe0J1J+wH34JFs7KKp0G5nP7+XSQ5z0ZLFJcfJr8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "7f4c60a3d6e548dbc13666565c22cb3f8dcdad44",
|
||||
"rev": "79461936709b12e17adb9c91dd02d1c66d577f09",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -149,11 +133,11 @@
|
|||
},
|
||||
"mnw": {
|
||||
"locked": {
|
||||
"lastModified": 1738852285,
|
||||
"narHash": "sha256-8Y1uyE6gGHxdU0Vcx2CMg/dAmDSxJw19aAl3TKbbo54=",
|
||||
"lastModified": 1742255973,
|
||||
"narHash": "sha256-XfEGVKatTgEMMOVb4SNp1LYLQOSzzrFTDMVDTZFyMVE=",
|
||||
"owner": "Gerg-L",
|
||||
"repo": "mnw",
|
||||
"rev": "6ae73dc9cb72cea17bcc2e3d4670825f483e80e8",
|
||||
"rev": "b982dbd5e6d55d4438832b3567c09bc2a129649d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -175,11 +159,11 @@
|
|||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1732053863,
|
||||
"narHash": "sha256-DCIVdlb81Fct2uwzbtnawLBC/U03U2hqx8trqTJB7WA=",
|
||||
"lastModified": 1741118843,
|
||||
"narHash": "sha256-ggXU3RHv6NgWw+vc+HO4/9n0GPufhTIUjVuLci8Za8c=",
|
||||
"owner": "oxalica",
|
||||
"repo": "nil",
|
||||
"rev": "2e24c9834e3bb5aa2a3701d3713b43a6fb106362",
|
||||
"rev": "577d160da311cc7f5042038456a0713e9863d09e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -190,11 +174,11 @@
|
|||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1741325094,
|
||||
"narHash": "sha256-RUAdT8dZ6k/486vnu3tiNRrNW6+Q8uSD2Mq7gTX4jlo=",
|
||||
"lastModified": 1743420942,
|
||||
"narHash": "sha256-b/exDDQSLmENZZgbAEI3qi9yHkuXAXCPbormD8CSJXo=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "b48cc4dab0f9711af296fc367b6108cf7b8ccb16",
|
||||
"rev": "de6fc5551121c59c01e2a3d45b277a6d05077bc4",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -205,11 +189,11 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1741379970,
|
||||
"narHash": "sha256-Wh7esNh7G24qYleLvgOSY/7HlDUzWaL/n4qzlBePpiw=",
|
||||
"lastModified": 1744098102,
|
||||
"narHash": "sha256-tzCdyIJj9AjysC3OuKA+tMD/kDEDAF9mICPDU7ix0JA=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "36fd87baa9083f34f7f5027900b62ee6d09b1f2f",
|
||||
"rev": "c8cd81426f45942bb2906d5ed2fe21d2f19d95b7",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -221,23 +205,26 @@
|
|||
},
|
||||
"nixpkgs-lib": {
|
||||
"locked": {
|
||||
"lastModified": 1738452942,
|
||||
"narHash": "sha256-vJzFZGaCpnmo7I6i416HaBLpC+hvcURh/BQwROcGIp8=",
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
"lastModified": 1740877520,
|
||||
"narHash": "sha256-oiwv/ZK/2FhGxrCkQkB83i7GnWXPPLzoqFHpDD3uYpk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"rev": "147dee35aab2193b174e4c0868bd80ead5ce755c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://github.com/NixOS/nixpkgs/archive/072a6db25e947df2f31aab9eccd0ab75d5b2da11.tar.gz"
|
||||
"owner": "nix-community",
|
||||
"repo": "nixpkgs.lib",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1740303746,
|
||||
"narHash": "sha256-XcdiWLEhjJkMxDLKQJ0CCivmYYCvA5MDxu9pMybM5kM=",
|
||||
"lastModified": 1743076231,
|
||||
"narHash": "sha256-yQugdVfi316qUfqzN8JMaA2vixl+45GxNm4oUfXlbgw=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "2d068ae5c6516b2d04562de50a58c682540de9bf",
|
||||
"rev": "6c5963357f3c1c840201eda129a99d455074db04",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -249,11 +236,11 @@
|
|||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1731763621,
|
||||
"narHash": "sha256-ddcX4lQL0X05AYkrkV2LMFgGdRvgap7Ho8kgon3iWZk=",
|
||||
"lastModified": 1743689281,
|
||||
"narHash": "sha256-y7Hg5lwWhEOgflEHRfzSH96BOt26LaYfrYWzZ+VoVdg=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c69a9bffbecde46b4b939465422ddc59493d3e4d",
|
||||
"rev": "2bfc080955153be0be56724be6fa5477b4eefabb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -263,38 +250,21 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nmd": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1705050560,
|
||||
"narHash": "sha256-x3zzcdvhJpodsmdjqB4t5mkVW22V3wqHLOun0KRBzUI=",
|
||||
"owner": "~rycee",
|
||||
"repo": "nmd",
|
||||
"rev": "66d9334933119c36f91a78d565c152a4fdc8d3d3",
|
||||
"type": "sourcehut"
|
||||
},
|
||||
"original": {
|
||||
"owner": "~rycee",
|
||||
"repo": "nmd",
|
||||
"type": "sourcehut"
|
||||
}
|
||||
},
|
||||
"nvf": {
|
||||
"inputs": {
|
||||
"flake-parts": "flake-parts",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"flake-utils": "flake-utils",
|
||||
"mnw": "mnw",
|
||||
"nil": "nil",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"nmd": "nmd",
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741477095,
|
||||
"narHash": "sha256-aiaCmDReL34ViSB7ArVq8vB2VdTDVft1+vKfWkWeyUo=",
|
||||
"lastModified": 1744292872,
|
||||
"narHash": "sha256-WcDmZL27AUiIEsgsrgz4K8+hVYMxRKF6q5UYxgIlmw0=",
|
||||
"owner": "notashelf",
|
||||
"repo": "nvf",
|
||||
"rev": "6576509cd559aec3da271d12fa911d04d44708ec",
|
||||
"rev": "a6f8df678549829a0dfcd6d7609ee098efeacb09",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -313,11 +283,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1740569341,
|
||||
"narHash": "sha256-WV8nY2IOfWdzBF5syVgCcgOchg/qQtpYh6LECYS9XkY=",
|
||||
"lastModified": 1742765550,
|
||||
"narHash": "sha256-2vVIh2JrL6GAGfgCeY9e6iNKrBjs0Hw3bGQEAbwVs68=",
|
||||
"owner": "nix-community",
|
||||
"repo": "plasma-manager",
|
||||
"rev": "5eeb0172fb74392053b66a8149e61b5e191b2845",
|
||||
"rev": "b70be387276e632fe51232887f9e04e2b6ef8c16",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -348,11 +318,11 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1731983527,
|
||||
"narHash": "sha256-JECaBgC0pQ91Hq3W4unH6K9to8s2Zl2sPNu7bLOv4ek=",
|
||||
"lastModified": 1741055476,
|
||||
"narHash": "sha256-52vwEV0oS2lCnx3c/alOFGglujZTLmObit7K8VblnS8=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "71287228d96e9568e1e70c6bbfa3f992d145947b",
|
||||
"rev": "aefb7017d710f150970299685e8d8b549d653649",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -388,11 +358,11 @@
|
|||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1741043164,
|
||||
"narHash": "sha256-9lfmSZLz6eq9Ygr6cCmvQiiBEaPb54pUBcjvbEMPORc=",
|
||||
"lastModified": 1744103455,
|
||||
"narHash": "sha256-SR6+qjkPjGQG+8eM4dCcVtss8r9bre/LAxFMPJpaZeU=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "3f2412536eeece783f0d0ad3861417f347219f4d",
|
||||
"rev": "69d5a5a4635c27dae5a742f36108beccc506c1ba",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
@ -403,11 +373,11 @@
|
|||
},
|
||||
"stable": {
|
||||
"locked": {
|
||||
"lastModified": 1741332913,
|
||||
"narHash": "sha256-ri1e8ZliWS3Jnp9yqpKApHaOo7KBN33W8ECAKA4teAQ=",
|
||||
"lastModified": 1744168086,
|
||||
"narHash": "sha256-S9M4HddBCxbbX1CKSyDYgZ8NCVyHcbKnBfoUXeRu2jQ=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "20755fa05115c84be00b04690630cb38f0a203ad",
|
||||
"rev": "60e405b241edb6f0573f3d9f944617fe33ac4a73",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
|
|
@ -8,9 +8,7 @@
|
|||
url = "github:nix-community/home-manager";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
|
||||
snowfall-lib = {
|
||||
url = "github:snowfallorg/lib";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
|
|
|
@ -1,15 +1,19 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib.${namespace};
|
||||
{
|
||||
home.activation.removeBrowserBackups = lib.hm.dag.entryAfter [ "checkLinkTargets" ] ''
|
||||
if [ -d "/home/philipp/.librewolf/philipp" ]; then
|
||||
rm -f /home/philipp/.librewolf/philipp/search.json.mozlz4.backup
|
||||
fi
|
||||
'';
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
package = pkgs.rose-pine-cursor;
|
||||
name = "BreezeX-RosePine-Linux";
|
||||
size = 32;
|
||||
};
|
||||
|
||||
awesome-flake = {
|
||||
cli-apps = {
|
||||
fish = enabled;
|
||||
|
@ -27,6 +31,7 @@ with lib.${namespace};
|
|||
chatterino = enabled;
|
||||
mpv = enabled;
|
||||
cinny = enabled;
|
||||
spotify = enabled;
|
||||
obs = enabled;
|
||||
kitty = {
|
||||
enable = true;
|
||||
|
@ -41,6 +46,7 @@ with lib.${namespace};
|
|||
desktop = {
|
||||
hotkeys = enabled;
|
||||
panel = enabled;
|
||||
spectacle = enabled;
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -35,7 +35,7 @@ let
|
|||
engines = {
|
||||
"SearXNG" = {
|
||||
urls = [ { template = "https://search.monapona.dev/search?q={searchTerms}"; } ];
|
||||
iconUpdateURL = "https://search.monapona.dev/static/themes/simple/img/favicon.png";
|
||||
icon = "https://search.monapona.dev/static/themes/simple/img/favicon.png";
|
||||
definedAliases = [ "@s" ];
|
||||
};
|
||||
|
||||
|
@ -47,7 +47,7 @@ let
|
|||
|
||||
"NixOS Wiki" = {
|
||||
urls = [ { template = "https://wiki.nixos.org/index.php?search={searchTerms}"; } ];
|
||||
iconUpdateURL = "https://wiki.nixos.org/favicon.ico";
|
||||
icon = "https://wiki.nixos.org/favicon.ico";
|
||||
updateInterval = 24 * 60 * 60 * 1000;
|
||||
definedAliases = [ "@nw" ];
|
||||
};
|
||||
|
|
25
modules/home/apps/spotify/default.nix
Normal file
25
modules/home/apps/spotify/default.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.${namespace};
|
||||
let
|
||||
cfg = config.${namespace}.apps.spotify;
|
||||
in
|
||||
{
|
||||
options.${namespace}.apps.spotify = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable spotify.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
home.packages = with pkgs; [
|
||||
librespot
|
||||
spotify-qt
|
||||
];
|
||||
};
|
||||
|
||||
}
|
24
modules/home/desktop/spectacle/default.nix
Normal file
24
modules/home/desktop/spectacle/default.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.${namespace};
|
||||
let
|
||||
cfg = config.${namespace}.desktop.spectacle;
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.spectacle = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable spectacle config.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
programs.plasma = {
|
||||
enable = true;
|
||||
spectacle.shortcuts.captureRectangularRegion = "Meta+Shift+S";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
lib,
|
||||
osConfig ? { },
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
{
|
||||
home.stateVersion = lib.mkDefault (osConfig.system.stateVersion or "24.11");
|
||||
|
||||
}
|
||||
|
|
|
@ -22,6 +22,9 @@ in
|
|||
|
||||
hardware.steam-hardware.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [ steam ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
steamtinkerlaunch
|
||||
steam
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
23
modules/nixos/cli/wireguard/default.nix
Normal file
23
modules/nixos/cli/wireguard/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.${namespace};
|
||||
let
|
||||
cfg = config.${namespace}.cli.wireguard;
|
||||
in
|
||||
{
|
||||
options.${namespace}.cli.wireguard = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to use wiguard-tools.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
networking.wireguard = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
}
|
|
@ -14,9 +14,6 @@ let
|
|||
elisa
|
||||
krdp
|
||||
];
|
||||
|
||||
default-attrs = mapAttrs (key: mkDefault);
|
||||
nested-default-attrs = mapAttrs (key: default-attrs);
|
||||
in
|
||||
{
|
||||
options.${namespace}.desktop.plasma = with types; {
|
||||
|
@ -42,9 +39,7 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
environment.plasma6.excludePackages =
|
||||
with pkgs.kdePackages;
|
||||
[ ] ++ excludePackages ++ cfg.extraExcludePackages;
|
||||
environment.plasma6.excludePackages = [ ] ++ excludePackages ++ cfg.extraExcludePackages;
|
||||
|
||||
networking.networkmanager.enable = true;
|
||||
|
||||
|
|
29
modules/nixos/services/gns3/default.nix
Normal file
29
modules/nixos/services/gns3/default.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{
|
||||
lib,
|
||||
pkgs,
|
||||
config,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.${namespace};
|
||||
let
|
||||
cfg = config.${namespace}.services.gns3;
|
||||
in
|
||||
{
|
||||
options.${namespace}.services.gns3 = {
|
||||
enable = mkBoolOpt false "GNS3";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
services.gns3-server.enable = true;
|
||||
services.gns3-server.ubridge.enable = true;
|
||||
services.gns3-server.dynamips.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
dynamips
|
||||
gns3-gui
|
||||
];
|
||||
};
|
||||
|
||||
}
|
|
@ -29,7 +29,8 @@ in
|
|||
|
||||
users.users.philipp.openssh.authorizedKeys = {
|
||||
inherit (cfg)
|
||||
keys;
|
||||
keys
|
||||
;
|
||||
};
|
||||
};
|
||||
|
||||
|
|
50
modules/nixos/system/gstreamer/default.nix
Normal file
50
modules/nixos/system/gstreamer/default.nix
Normal file
|
@ -0,0 +1,50 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
namespace,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with lib.${namespace};
|
||||
let
|
||||
cfg = config.${namespace}.system.gstreamer;
|
||||
in
|
||||
{
|
||||
options.${namespace}.system.gstreamer = with types; {
|
||||
enable = mkBoolOpt false "Whether or not to enable gstreamer support.";
|
||||
};
|
||||
|
||||
config = mkIf cfg.enable {
|
||||
environment.systemPackages = with pkgs; [
|
||||
# Video/Audio data composition framework tools like "gst-inspect", "gst-launch" ...
|
||||
gst_all_1.gstreamer
|
||||
# Common plugins like "filesrc" to combine within e.g. gst-launch
|
||||
gst_all_1.gst-plugins-base
|
||||
# Specialized plugins separated by quality
|
||||
gst_all_1.gst-plugins-good
|
||||
gst_all_1.gst-plugins-bad
|
||||
gst_all_1.gst-plugins-ugly
|
||||
# Plugins to reuse ffmpeg to play almost every video format
|
||||
gst_all_1.gst-libav
|
||||
# Support the Video Audio (Hardware) Acceleration API
|
||||
gst_all_1.gst-vaapi
|
||||
];
|
||||
|
||||
environment.sessionVariables.GST_PLUGIN_SYSTEM_PATH_1_0 =
|
||||
lib.makeSearchPathOutput "lib" "lib/gstreamer-1.0"
|
||||
(
|
||||
with pkgs.gst_all_1;
|
||||
[
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
gst-plugins-bad
|
||||
gst-plugins-ugly
|
||||
gst-libav
|
||||
gst-vaapi
|
||||
]
|
||||
);
|
||||
};
|
||||
|
||||
}
|
|
@ -14,9 +14,10 @@ with lib.${namespace};
|
|||
];
|
||||
|
||||
# Use the extlinux boot loader. (NixOS wants to enable GRUB by default)
|
||||
boot.loader.grub.enable = false;
|
||||
# Enables the generation of /boot/extlinux/extlinux.conf
|
||||
boot.loader.generic-extlinux-compatible.enable = true;
|
||||
boot.loader = {
|
||||
grub.enable = false;
|
||||
generic-extlinux-compatible.enable = true;
|
||||
};
|
||||
|
||||
nix.settings.experimental-features = [
|
||||
"nix-command"
|
||||
|
@ -32,14 +33,6 @@ with lib.${namespace};
|
|||
# Select internationalisation properties.
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
|
||||
snowfallorg.users.philipp = {
|
||||
create = true;
|
||||
admin = true;
|
||||
home = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.users.philipp = {
|
||||
isNormalUser = true;
|
||||
description = "Philipp Böhm";
|
||||
|
@ -47,12 +40,15 @@ with lib.${namespace};
|
|||
"wheel"
|
||||
"caddy"
|
||||
];
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDwUGxdwTgjc61VNh7QNfrrZwz5yHkJ6AGsRsgoDV3a4 philipp-mobile"
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJqbT8AdnS++ZoL7TYg2skQUvfWx29Iq+mEYv2Ok2QHb arbeit"
|
||||
];
|
||||
};
|
||||
|
||||
snowfallorg.users.philipp = {
|
||||
create = true;
|
||||
admin = true;
|
||||
home = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
awesome-flake = {
|
||||
services = {
|
||||
|
|
|
@ -9,10 +9,16 @@ with lib.${namespace};
|
|||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.systemd-boot.consoleMode = "max";
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
boot = {
|
||||
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
consoleMode = "max";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.libvirtd.enable = true;
|
||||
|
||||
|
@ -25,6 +31,15 @@ with lib.${namespace};
|
|||
|
||||
networking.hostName = "bodenheizung";
|
||||
|
||||
users.users.philipp = {
|
||||
isNormalUser = true;
|
||||
description = "Philipp Böhm";
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"caddy"
|
||||
];
|
||||
};
|
||||
|
||||
snowfallorg.users.philipp = {
|
||||
create = true;
|
||||
admin = true;
|
||||
|
@ -38,6 +53,7 @@ with lib.${namespace};
|
|||
neovim = enabled;
|
||||
eza = enabled;
|
||||
nh = enabled;
|
||||
wireguard = enabled;
|
||||
};
|
||||
|
||||
apps = {
|
||||
|
@ -49,6 +65,7 @@ with lib.${namespace};
|
|||
|
||||
services = {
|
||||
btrfs = enabled;
|
||||
gns3 = enabled;
|
||||
};
|
||||
|
||||
system = {
|
||||
|
@ -56,6 +73,7 @@ with lib.${namespace};
|
|||
enable = true;
|
||||
emoji = true;
|
||||
};
|
||||
gstreamer = enabled;
|
||||
gnupg = enabled;
|
||||
};
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue