Compare commits
7 Commits
244b7c0888
...
k3s
| Author | SHA1 | Date | |
|---|---|---|---|
| 02ebbbf543 | |||
| 8efa89138d | |||
| 2644bcd193 | |||
| 4d6450900b | |||
| 446510098b | |||
| 2f5bb19296 | |||
| 65a5eec626 |
125
flake.lock
generated
125
flake.lock
generated
@@ -1,44 +1,5 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"doomemacs": {
|
|
||||||
"flake": false,
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1733434763,
|
|
||||||
"narHash": "sha256-sebujw5VvBWMS+wXyjiGF81iyjPM/QQDnw5l7tDJCvk=",
|
|
||||||
"owner": "doomemacs",
|
|
||||||
"repo": "doomemacs",
|
|
||||||
"rev": "ba1dca322f9a07bc2b7bec6a98f2c3c55c0bbd77",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "doomemacs",
|
|
||||||
"repo": "doomemacs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"emacs-overlay": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nix-doom-emacs-unstraightened"
|
|
||||||
],
|
|
||||||
"nixpkgs-stable": [
|
|
||||||
"nix-doom-emacs-unstraightened"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1734315266,
|
|
||||||
"narHash": "sha256-k6ekQwIK/TASoPwTyeY2JiBHzwmPZSLGrYNXF+fLhC8=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "emacs-overlay",
|
|
||||||
"rev": "fce2b6224adae5f9b6d43d74ecb996a3133a63f4",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "emacs-overlay",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -46,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734344598,
|
"lastModified": 1728041527,
|
||||||
"narHash": "sha256-wNX3hsScqDdqKWOO87wETUEi7a/QlPVgpC/Lh5rFOuA=",
|
"narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "83ecd50915a09dca928971139d3a102377a8d242",
|
"rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -59,36 +20,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-doom-emacs-unstraightened": {
|
|
||||||
"inputs": {
|
|
||||||
"doomemacs": "doomemacs",
|
|
||||||
"emacs-overlay": "emacs-overlay",
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
],
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1734338553,
|
|
||||||
"narHash": "sha256-KEuh2nsgl8iiPWMg4wfrnCoZqPssw6dbMCy9MheLJZg=",
|
|
||||||
"owner": "marienz",
|
|
||||||
"repo": "nix-doom-emacs-unstraightened",
|
|
||||||
"rev": "728040b0b7c2c0baa47fb3365b57bd3e1658207a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "marienz",
|
|
||||||
"repo": "nix-doom-emacs-unstraightened",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1734119587,
|
"lastModified": 1727802920,
|
||||||
"narHash": "sha256-AKU6qqskl0yf2+JdRdD0cfxX4b9x3KKV5RqA6wijmPM=",
|
"narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "3566ab7246670a43abd2ffa913cc62dad9cdf7d5",
|
"rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -98,35 +36,26 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"plasma-manager": {
|
"nixpkgs-stable": {
|
||||||
"inputs": {
|
|
||||||
"home-manager": [
|
|
||||||
"home-manager"
|
|
||||||
],
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733858086,
|
"lastModified": 1725762081,
|
||||||
"narHash": "sha256-h2BDIDKiqgMpA6E+mu0RgMGy3FeM6k+EuJ9xgOQ1+zw=",
|
"narHash": "sha256-vNv+aJUW5/YurRy1ocfvs4q/48yVESwlC/yHzjkZSP8=",
|
||||||
"owner": "nix-community",
|
"owner": "NixOS",
|
||||||
"repo": "plasma-manager",
|
"repo": "nixpkgs",
|
||||||
"rev": "7e2010249529931a3848054d5ff0dbf24675ab68",
|
"rev": "dc454045f5b5d814e5862a6d057e7bb5c29edc05",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
"owner": "nix-community",
|
"owner": "NixOS",
|
||||||
"repo": "plasma-manager",
|
"ref": "release-24.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-doom-emacs-unstraightened": "nix-doom-emacs-unstraightened",
|
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"plasma-manager": "plasma-manager",
|
|
||||||
"sops-nix": "sops-nix"
|
"sops-nix": "sops-nix"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -134,14 +63,15 @@
|
|||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
"nixpkgs"
|
"nixpkgs"
|
||||||
]
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1733965552,
|
"lastModified": 1727423009,
|
||||||
"narHash": "sha256-GZ4YtqkfyTjJFVCub5yAFWsHknG1nS/zfk7MuHht4Fs=",
|
"narHash": "sha256-+4B/dQm2EnORIk0k2wV3aHGaE0WXTBjColXjj7qWh10=",
|
||||||
"owner": "Mic92",
|
"owner": "Mic92",
|
||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"rev": "2d73fc6ac4eba4b9a83d3cb8275096fbb7ab4004",
|
"rev": "127a96f49ddc377be6ba76964411bab11ae27803",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -149,21 +79,6 @@
|
|||||||
"repo": "sops-nix",
|
"repo": "sops-nix",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
39
flake.nix
39
flake.nix
@@ -13,17 +13,6 @@
|
|||||||
url = "github:nix-community/home-manager";
|
url = "github:nix-community/home-manager";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
plasma-manager = {
|
|
||||||
url = "github:nix-community/plasma-manager";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
inputs.home-manager.follows = "home-manager";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix-doom-emacs-unstraightened = {
|
|
||||||
url = "github:marienz/nix-doom-emacs-unstraightened";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... } @ inputs: let
|
outputs = { self, nixpkgs, ... } @ inputs: let
|
||||||
@@ -34,10 +23,6 @@
|
|||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager.useGlobalPkgs = true;
|
||||||
home-manager.useUserPackages = true;
|
home-manager.useUserPackages = true;
|
||||||
home-manager.sharedModules = [
|
|
||||||
inputs.plasma-manager.homeManagerModules.plasma-manager
|
|
||||||
inputs.nix-doom-emacs-unstraightened.hmModule
|
|
||||||
];
|
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
in {
|
in {
|
||||||
@@ -48,6 +33,8 @@
|
|||||||
./machines/z790prors/configuration.nix
|
./machines/z790prors/configuration.nix
|
||||||
{
|
{
|
||||||
home-manager.users.johno = import ./home/home-z790prors.nix;
|
home-manager.users.johno = import ./home/home-z790prors.nix;
|
||||||
|
home-manager.extraSpecialArgs.customPkgs =
|
||||||
|
nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -58,6 +45,8 @@
|
|||||||
./machines/nix-book/configuration.nix
|
./machines/nix-book/configuration.nix
|
||||||
{
|
{
|
||||||
home-manager.users.johno = import ./home/home-nix-book.nix;
|
home-manager.users.johno = import ./home/home-nix-book.nix;
|
||||||
|
home-manager.extraSpecialArgs.customPkgs =
|
||||||
|
nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
@@ -66,10 +55,22 @@
|
|||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = baseModules ++ [
|
modules = baseModules ++ [
|
||||||
./machines/boxy/configuration.nix
|
./machines/boxy/configuration.nix
|
||||||
inputs.home-manager.nixosModules.home-manager
|
# inputs.home-manager.nixosModules.home-manager
|
||||||
{
|
# {
|
||||||
home-manager.users.johno = import ./home/home-default.nix;
|
# home-manager.users.johno = import ./home/home-default.nix;
|
||||||
}
|
# home-manager.extraSpecialArgs.customPkgs =
|
||||||
|
# nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
||||||
|
# customPkgs = nixpkgs.legacyPackages."${system}".callPackage ./packages {};
|
||||||
|
# }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
|
nixosConfigurations.k3s-nix = nixpkgs.lib.nixosSystem {
|
||||||
|
system = "x86_64-linux";
|
||||||
|
modules = [
|
||||||
|
./roles
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
./machines/k3s-nix/configuration.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
{ pkgs, customPkgs, ... }:
|
{ pkgs, customPkgs, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
customPkgs = pkgs.callPackage ../packages {};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
# Home Manager needs a bit of information about you and the paths it should
|
# Home Manager needs a bit of information about you and the paths it should
|
||||||
# manage.
|
# manage.
|
||||||
@@ -98,7 +95,6 @@ in
|
|||||||
# /etc/profiles/per-user/johno/etc/profile.d/hm-session-vars.sh
|
# /etc/profiles/per-user/johno/etc/profile.d/hm-session-vars.sh
|
||||||
#
|
#
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
ENABLE_GAMESCOPE_WSI = "1";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionPath = [
|
home.sessionPath = [
|
||||||
@@ -108,9 +104,8 @@ in
|
|||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./modules/emacs
|
./modules/emacs
|
||||||
./modules/i3+sway
|
|
||||||
./modules/lutris
|
./modules/lutris
|
||||||
./modules/plasma-manager
|
./modules/i3+sway
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.bash.enable = true;
|
programs.bash.enable = true;
|
||||||
|
|||||||
@@ -2,15 +2,21 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
{
|
let
|
||||||
|
doomSync = (let
|
||||||
|
git = pkgs.git;
|
||||||
|
in ''
|
||||||
|
export PATH=${pkgs.emacs}/bin:${git}/bin:$PATH
|
||||||
|
${config.xdg.configHome}/emacs/bin/doom sync -u -j $((`nproc`/4*3))
|
||||||
|
'');
|
||||||
|
in {
|
||||||
config = {
|
config = {
|
||||||
home.packages = [
|
home.packages = [
|
||||||
pkgs.emacs-all-the-icons-fonts
|
pkgs.emacs-all-the-icons-fonts
|
||||||
pkgs.fontconfig
|
pkgs.fontconfig
|
||||||
pkgs.graphviz
|
pkgs.graphviz
|
||||||
pkgs.isort
|
pkgs.isort
|
||||||
pkgs.nerd-fonts.fira-code
|
pkgs.nerdfonts
|
||||||
pkgs.nerd-fonts.droid-sans-mono
|
|
||||||
pkgs.nil # nix lsp language server
|
pkgs.nil # nix lsp language server
|
||||||
pkgs.nixfmt-rfc-style
|
pkgs.nixfmt-rfc-style
|
||||||
(pkgs.ripgrep.override {withPCRE2 = true;})
|
(pkgs.ripgrep.override {withPCRE2 = true;})
|
||||||
@@ -19,15 +25,43 @@ with lib;
|
|||||||
pkgs.python3
|
pkgs.python3
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.doom-emacs = {
|
|
||||||
enable = true;
|
|
||||||
doomDir = ./doom;
|
|
||||||
};
|
|
||||||
|
|
||||||
fonts.fontconfig.enable = true;
|
fonts.fontconfig.enable = true;
|
||||||
|
|
||||||
|
home.file = {
|
||||||
|
".config/emacs" = {
|
||||||
|
source = fetchGit {
|
||||||
|
url = "https://github.com/doomemacs/doomemacs.git";
|
||||||
|
# When updating me, remember to run `doom sync`
|
||||||
|
rev = "5ad99220b86ae1bf421861dfad24492d768ac4d9";
|
||||||
|
};
|
||||||
|
# We need to use recursive mode here or else doom fails to sync for
|
||||||
|
# some reason related to the permissions on the synced path. I'm not
|
||||||
|
# quite sure of everything that's going on here.
|
||||||
|
recursive = true;
|
||||||
|
|
||||||
|
# Because `recursive = true` will cause this to sync every single
|
||||||
|
# activation, we turn this off here.
|
||||||
|
#
|
||||||
|
# There's probably a way we could do better detection of this within
|
||||||
|
# our onChange shell?
|
||||||
|
#
|
||||||
|
# onChange = doomSync;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
|
DOOMLOCALDIR = "${config.xdg.dataHome}/doom";
|
||||||
EDITOR = "emacs -nw";
|
EDITOR = "emacs -nw";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
home.sessionPath = [
|
||||||
|
"${config.xdg.configHome}/emacs/bin"
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.configFile."doom" = {
|
||||||
|
source = ./doom;
|
||||||
|
# Sync doom if we updated the config
|
||||||
|
onChange = doomSync;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -28,7 +28,6 @@
|
|||||||
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
;; up, `M-x eval-region' to execute elisp code, and 'M-x doom/reload-font' to
|
||||||
;; refresh your font settings. If Emacs still can't find your font, it likely
|
;; refresh your font settings. If Emacs still can't find your font, it likely
|
||||||
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
;; wasn't installed correctly. Font issues are rarely Doom issues!
|
||||||
(setq doom-font (font-spec :family "Fira Code"))
|
|
||||||
|
|
||||||
;; There are two ways to load a theme. Both assume the theme is installed and
|
;; There are two ways to load a theme. Both assume the theme is installed and
|
||||||
;; available. You can either set `doom-theme' or manually load a theme with the
|
;; available. You can either set `doom-theme' or manually load a theme with the
|
||||||
|
|||||||
@@ -149,7 +149,7 @@
|
|||||||
;;lua ; one-based indices? one-based indices
|
;;lua ; one-based indices? one-based indices
|
||||||
markdown ; writing docs for people to ignore
|
markdown ; writing docs for people to ignore
|
||||||
;;nim ; python + lisp at the speed of c
|
;;nim ; python + lisp at the speed of c
|
||||||
(nix +tree-sitter) ; I hereby declare "nix geht mehr!"
|
(nix +tree-sitter +lsp) ; I hereby declare "nix geht mehr!"
|
||||||
;;ocaml ; an objective camel
|
;;ocaml ; an objective camel
|
||||||
(org +roam2) ; organize your plain life in plain text
|
(org +roam2) ; organize your plain life in plain text
|
||||||
;;php ; perl's insecure younger brother
|
;;php ; perl's insecure younger brother
|
||||||
|
|||||||
@@ -6,13 +6,13 @@ let
|
|||||||
cfg = config.home.i3_sway;
|
cfg = config.home.i3_sway;
|
||||||
i3_cfg = config.xsession.windowManager.i3.config;
|
i3_cfg = config.xsession.windowManager.i3.config;
|
||||||
|
|
||||||
shared_config = recursiveUpdate rec {
|
shared_config = recursiveUpdate {
|
||||||
modifier = "Mod4";
|
modifier = "Mod4";
|
||||||
terminal = "kitty";
|
terminal = "kitty";
|
||||||
defaultWorkspace = "workspace number 1";
|
defaultWorkspace = "workspace number 1";
|
||||||
|
|
||||||
keybindings = {
|
keybindings = {
|
||||||
"${shared_config.modifier}+Return" = "exec ${terminal}";
|
"${shared_config.modifier}+Return" = "exec ${i3_cfg.terminal}";
|
||||||
"${shared_config.modifier}+Shift+q" = "kill";
|
"${shared_config.modifier}+Shift+q" = "kill";
|
||||||
"${shared_config.modifier}+d" = "exec ${i3_cfg.menu}";
|
"${shared_config.modifier}+d" = "exec ${i3_cfg.menu}";
|
||||||
|
|
||||||
@@ -129,13 +129,6 @@ in {
|
|||||||
"type:keyboard" = {
|
"type:keyboard" = {
|
||||||
xkb_options = "caps:escape";
|
xkb_options = "caps:escape";
|
||||||
};
|
};
|
||||||
"type:touchpad" = {
|
|
||||||
tap = "enabled";
|
|
||||||
tap_button_map = "lrm";
|
|
||||||
drag = "enabled";
|
|
||||||
natural_scroll = "disabled";
|
|
||||||
dwt = "enabled";
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
in {
|
in {
|
||||||
|
|||||||
@@ -1,127 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
|
|
||||||
# The current KDE config can be output with the command:
|
|
||||||
# nix run github:nix-community/plasma-manager
|
|
||||||
#
|
|
||||||
# Plasma-manager options documentation
|
|
||||||
# https://nix-community.github.io/plasma-manager/options.xhtml
|
|
||||||
#
|
|
||||||
# TODO: (ambitious) Add Kmail support to plasma-manager
|
|
||||||
{
|
|
||||||
programs.plasma = {
|
|
||||||
enable = true;
|
|
||||||
overrideConfig = true;
|
|
||||||
|
|
||||||
hotkeys.commands."launch-konsole" = {
|
|
||||||
name = "Launch Konsole";
|
|
||||||
key = "Meta+Return";
|
|
||||||
command = "konsole";
|
|
||||||
};
|
|
||||||
|
|
||||||
shortcuts = {
|
|
||||||
kmix = {
|
|
||||||
"decrease_microphone_volume" = "Microphone Volume Down";
|
|
||||||
"decrease_volume" = "Volume Down";
|
|
||||||
"decrease_volume_small" = "Shift+Volume Down";
|
|
||||||
"increase_microphone_volume" = "Microphone Volume Up";
|
|
||||||
"increase_volume" = "Volume Up";
|
|
||||||
"increase_volume_small" = "Shift+Volume Up";
|
|
||||||
"mic_mute" = ["Microphone Mute" "Meta+Volume Mute,Microphone Mute" "Meta+Volume Mute,Mute Microphone"];
|
|
||||||
"mute" = "Volume Mute";
|
|
||||||
};
|
|
||||||
|
|
||||||
mediacontrol = {
|
|
||||||
"mediavolumedown" = "none,,Media volume down";
|
|
||||||
"mediavolumeup" = "none,,Media volume up";
|
|
||||||
"nextmedia" = "Media Next";
|
|
||||||
"pausemedia" = "Media Pause";
|
|
||||||
"playmedia" = "none,,Play media playback";
|
|
||||||
"playpausemedia" = "Media Play";
|
|
||||||
"previousmedia" = "Media Previous";
|
|
||||||
"stopmedia" = "Media Stop";
|
|
||||||
};
|
|
||||||
|
|
||||||
ksmserver = {
|
|
||||||
"Lock Session" = ["Meta+Ctrl+Q" "Screensaver" "Screensaver,Lock Session"];
|
|
||||||
};
|
|
||||||
|
|
||||||
kwin = {
|
|
||||||
"Window Close" = "Meta+Shift+Q";
|
|
||||||
"Kill Window" = "Meta+Ctrl+Esc";
|
|
||||||
"Window Operations Menu" = "Alt+F3";
|
|
||||||
"Window Resize" = "Meta+R,,Resize Window";
|
|
||||||
|
|
||||||
"Overview" = "Meta+W";
|
|
||||||
"Grid View" = "Meta+G";
|
|
||||||
"Edit Tiles" = "Meta+T";
|
|
||||||
|
|
||||||
"Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
|
||||||
|
|
||||||
"Show Desktop" = "Meta+D";
|
|
||||||
|
|
||||||
"Walk Through Windows" = "Alt+Tab";
|
|
||||||
"Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
|
||||||
"Walk Through Windows of Current Application" = "Alt+`";
|
|
||||||
"Walk Through Windows of Current Application (Reverse)" = "Alt+~";
|
|
||||||
"Window Fullscreen" = "Meta+Shift+F,,Make Window Fullscreen";
|
|
||||||
|
|
||||||
"Window Quick Tile Bottom" = "Meta+Down";
|
|
||||||
"Window Quick Tile Left" = "Meta+Left";
|
|
||||||
"Window Quick Tile Right" = "Meta+Right";
|
|
||||||
"Window Quick Tile Top" = "Meta+Up";
|
|
||||||
|
|
||||||
"view_actual_size" = "Meta+0";
|
|
||||||
"view_zoom_in" = ["Meta++" "Meta+=,Meta++" "Meta+=,Zoom In"];
|
|
||||||
"view_zoom_out" = "Meta+-";
|
|
||||||
};
|
|
||||||
"org_kde_powerdevil"."Decrease Keyboard Brightness" = "Keyboard Brightness Down";
|
|
||||||
"org_kde_powerdevil"."Decrease Screen Brightness" = "Monitor Brightness Down";
|
|
||||||
"org_kde_powerdevil"."Decrease Screen Brightness Small" = "Shift+Monitor Brightness Down";
|
|
||||||
"org_kde_powerdevil"."Hibernate" = "Hibernate";
|
|
||||||
"org_kde_powerdevil"."Increase Keyboard Brightness" = "Keyboard Brightness Up";
|
|
||||||
"org_kde_powerdevil"."Increase Screen Brightness" = "Monitor Brightness Up";
|
|
||||||
"org_kde_powerdevil"."Increase Screen Brightness Small" = "Shift+Monitor Brightness Up";
|
|
||||||
"org_kde_powerdevil"."PowerDown" = "Power Down";
|
|
||||||
"org_kde_powerdevil"."PowerOff" = "Power Off";
|
|
||||||
"org_kde_powerdevil"."Sleep" = "Sleep";
|
|
||||||
"org_kde_powerdevil"."Toggle Keyboard Backlight" = "Keyboard Light On/Off";
|
|
||||||
"org_kde_powerdevil"."Turn Off Screen" = [ ];
|
|
||||||
"org_kde_powerdevil"."powerProfile" = ["Battery" "Meta+B,Battery" "Meta+B,Switch Power Profile"];
|
|
||||||
|
|
||||||
plasmashell = {
|
|
||||||
"activate application launcher" = ["Meta" "Alt+F1,Meta" "Alt+F1,Activate Application Launcher"];
|
|
||||||
"activate task manager entry 1" = "none,,";
|
|
||||||
"activate task manager entry 2" = "none,,";
|
|
||||||
"activate task manager entry 3" = "none,,";
|
|
||||||
"activate task manager entry 4" = "none,,";
|
|
||||||
"activate task manager entry 5" = "none,,";
|
|
||||||
"activate task manager entry 6" = "none,,";
|
|
||||||
"activate task manager entry 7" = "none,,";
|
|
||||||
"activate task manager entry 8" = "none,,";
|
|
||||||
"activate task manager entry 9" = "none,,";
|
|
||||||
"activate task manager entry 10" = "none,,";
|
|
||||||
"show activity switcher" = "none,,";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
configFile = {
|
|
||||||
kwinrc.Desktops.Number = {
|
|
||||||
value = 10;
|
|
||||||
immutable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
kcminputrc.Libinput = {
|
|
||||||
AccelerationProfile = "adaptive";
|
|
||||||
PointerAcceleration = 0.5;
|
|
||||||
};
|
|
||||||
|
|
||||||
kcminputrc.Mouse = {
|
|
||||||
X11LibInputXAccelProfileFlat = false;
|
|
||||||
XLbInptAccelProfileFlat = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
kdeglobals.KDE.LookAndFeelPackage = "org.kde.breezedark.desktop";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -17,9 +17,8 @@ with lib;
|
|||||||
kodi = {
|
kodi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autologin = true;
|
autologin = true;
|
||||||
wayland = true;
|
wayland = false;
|
||||||
};
|
};
|
||||||
users.enable = true;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
@@ -30,7 +29,7 @@ with lib;
|
|||||||
|
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics.enable = true;
|
||||||
|
|
||||||
services.displayManager.enable = mkForce false;
|
#services.displayManager.enable = mkForce false;
|
||||||
|
|
||||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||||
|
|||||||
131
machines/k3s-nix/configuration.nix
Normal file
131
machines/k3s-nix/configuration.nix
Normal file
@@ -0,0 +1,131 @@
|
|||||||
|
# Edit this configuration file to define what should be installed on
|
||||||
|
# your system. Help is available in the configuration.nix(5) man page, on
|
||||||
|
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||||
|
|
||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ # Include the results of the hardware scan.
|
||||||
|
./hardware-configuration.nix
|
||||||
|
];
|
||||||
|
|
||||||
|
#boot.loader.systemd-boot.enable = true;
|
||||||
|
|
||||||
|
# Use the GRUB 2 boot loader.
|
||||||
|
boot.loader.grub.enable = true;
|
||||||
|
#boot.loader.grub.device = "/dev/sda3";
|
||||||
|
boot.loader.grub.useOSProber = true;
|
||||||
|
boot.loader.grub.efiSupport = true;
|
||||||
|
boot.loader.grub.efiInstallAsRemovable = true;
|
||||||
|
boot.loader.efi.efiSysMountPoint = "/boot/efi";
|
||||||
|
|
||||||
|
# Define on which hard drive you want to install Grub.
|
||||||
|
boot.loader.grub.device = "/dev/sda"; # or "nodev" for efi only
|
||||||
|
|
||||||
|
networking.hostName = "k3s-nix"; # Define your hostname.
|
||||||
|
# Pick only one of the below networking options.
|
||||||
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
|
# networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||||
|
|
||||||
|
# Set your time zone.
|
||||||
|
# time.timeZone = "Europe/Amsterdam";
|
||||||
|
|
||||||
|
# Configure network proxy if necessary
|
||||||
|
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||||
|
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||||
|
|
||||||
|
# Select internationalisation properties.
|
||||||
|
# i18n.defaultLocale = "en_US.UTF-8";
|
||||||
|
# console = {
|
||||||
|
# font = "Lat2-Terminus16";
|
||||||
|
# keyMap = "us";
|
||||||
|
# useXkbConfig = true; # use xkb.options in tty.
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Enable the X11 windowing system.
|
||||||
|
# services.xserver.enable = true;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Configure keymap in X11
|
||||||
|
# services.xserver.xkb.layout = "us";
|
||||||
|
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
||||||
|
|
||||||
|
# Enable CUPS to print documents.
|
||||||
|
# services.printing.enable = true;
|
||||||
|
|
||||||
|
# Enable sound.
|
||||||
|
# hardware.pulseaudio.enable = true;
|
||||||
|
# OR
|
||||||
|
# services.pipewire = {
|
||||||
|
# enable = true;
|
||||||
|
# pulse.enable = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# Enable touchpad support (enabled default in most desktopManager).
|
||||||
|
# services.libinput.enable = true;
|
||||||
|
|
||||||
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
|
# users.users.alice = {
|
||||||
|
# isNormalUser = true;
|
||||||
|
# extraGroups = [ "wheel" ]; # Enable ‘sudo’ for the user.
|
||||||
|
# packages = with pkgs; [
|
||||||
|
# firefox
|
||||||
|
# tree
|
||||||
|
# ];
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List packages installed in system profile. To search, run:
|
||||||
|
# $ nix search wget
|
||||||
|
# environment.systemPackages = with pkgs; [
|
||||||
|
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
|
# wget
|
||||||
|
# ];
|
||||||
|
|
||||||
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
|
# started in user sessions.
|
||||||
|
# programs.mtr.enable = true;
|
||||||
|
# programs.gnupg.agent = {
|
||||||
|
# enable = true;
|
||||||
|
# enableSSHSupport = true;
|
||||||
|
# };
|
||||||
|
|
||||||
|
# List services that you want to enable:
|
||||||
|
|
||||||
|
# Enable the OpenSSH daemon.
|
||||||
|
# services.openssh.enable = true;
|
||||||
|
|
||||||
|
# Open ports in the firewall.
|
||||||
|
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||||
|
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||||
|
# Or disable the firewall altogether.
|
||||||
|
# networking.firewall.enable = false;
|
||||||
|
|
||||||
|
# Copy the NixOS configuration file and link it from the resulting system
|
||||||
|
# (/run/current-system/configuration.nix). This is useful in case you
|
||||||
|
# accidentally delete configuration.nix.
|
||||||
|
# system.copySystemConfiguration = true;
|
||||||
|
|
||||||
|
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||||
|
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||||
|
#
|
||||||
|
# Most users should NEVER change this value after the initial install, for any reason,
|
||||||
|
# even if you've upgraded your system to a new NixOS release.
|
||||||
|
#
|
||||||
|
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
||||||
|
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
||||||
|
# to actually do that.
|
||||||
|
#
|
||||||
|
# This value being lower than the current NixOS release does NOT mean your system is
|
||||||
|
# out of date, out of support, or vulnerable.
|
||||||
|
#
|
||||||
|
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||||
|
# and migrated your data accordingly.
|
||||||
|
#
|
||||||
|
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||||
|
system.stateVersion = "24.05"; # Did you read the comment?
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
42
machines/k3s-nix/hardware-configuration.nix
Normal file
42
machines/k3s-nix/hardware-configuration.nix
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
|
# and may be overwritten by future invocations. Please make changes
|
||||||
|
# to /etc/nixos/configuration.nix instead.
|
||||||
|
{ config, lib, pkgs, modulesPath, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
imports =
|
||||||
|
[ (modulesPath + "/profiles/qemu-guest.nix")
|
||||||
|
];
|
||||||
|
|
||||||
|
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "virtio_pci" "virtio_scsi" "sd_mod" "sr_mod" ];
|
||||||
|
boot.initrd.kernelModules = [ ];
|
||||||
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
|
fileSystems."/" =
|
||||||
|
{ device = "/dev/disk/by-uuid/25d7ede1-7a1e-4fe8-beaa-cddb89253814";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/var" =
|
||||||
|
{ device = "/dev/disk/by-uuid/e1514fa7-b757-4c7c-8d7f-cbd49060eb15";
|
||||||
|
fsType = "ext4";
|
||||||
|
};
|
||||||
|
|
||||||
|
fileSystems."/boot" =
|
||||||
|
{ device = "/dev/disk/by-uuid/1777-E690";
|
||||||
|
fsType = "vfat";
|
||||||
|
options = [ "fmask=0077" "dmask=0077" ];
|
||||||
|
};
|
||||||
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||||
|
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||||
|
# still possible to use this option, but it's recommended to use it in conjunction
|
||||||
|
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||||
|
networking.useDHCP = lib.mkDefault true;
|
||||||
|
# networking.interfaces.enp1s0.useDHCP = lib.mkDefault true;
|
||||||
|
|
||||||
|
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||||
|
}
|
||||||
@@ -12,13 +12,9 @@
|
|||||||
roles = {
|
roles = {
|
||||||
audio.enable = true;
|
audio.enable = true;
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
desktop = {
|
desktop.enable = true;
|
||||||
enable = true;
|
|
||||||
waylandOnly = true;
|
|
||||||
};
|
|
||||||
nfs-mounts.enable = true;
|
nfs-mounts.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
spotifyd.enable = true;
|
|
||||||
users = {
|
users = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraGroups = [ "video" ];
|
extraGroups = [ "video" ];
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||||
# and may be overwritten by future invocations. Please make changes
|
# and may be overwritten by future invocations. Please make changes
|
||||||
# to /etc/nixos/configuration.nix instead.
|
# to /etc/nixos/configuration.nix instead.
|
||||||
{ config, lib, modulesPath, pkgs, ... }:
|
{ config, lib, modulesPath, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
@@ -15,11 +15,6 @@
|
|||||||
"nvidia_uvm"
|
"nvidia_uvm"
|
||||||
"nvidia_drm"
|
"nvidia_drm"
|
||||||
];
|
];
|
||||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
|
||||||
boot.kernelParams = [
|
|
||||||
"nvidia_drm.fbdev=1"
|
|
||||||
"nvidia_drm.modeset=1"
|
|
||||||
];
|
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
@@ -33,19 +28,7 @@
|
|||||||
powerManagement.finegrained = false;
|
powerManagement.finegrained = false;
|
||||||
open = false;
|
open = false;
|
||||||
nvidiaSettings = true;
|
nvidiaSettings = true;
|
||||||
package = config.boot.kernelPackages.nvidiaPackages.latest;
|
package = config.boot.kernelPackages.nvidiaPackages.production;
|
||||||
#package = config.boot.kernelPackages.nvidiaPackages.mkDriver {
|
|
||||||
#version = "555.58";
|
|
||||||
|
|
||||||
#sha256_64bit = "sha256-bXvcXkg2kQZuCNKRZM5QoTaTjF4l2TtrsKUvyicj5ew=";
|
|
||||||
#sha256_aarch64 = lib.fakeSha256;
|
|
||||||
#openSha256 = lib.fakeSha256;
|
|
||||||
#settingsSha256 = "sha256-vWnrXlBCb3K5uVkDFmJDVq51wrCoqgPF03lSjZOuU8M=";
|
|
||||||
#persistencedSha256 = lib.fakeSha256;
|
|
||||||
#};
|
|
||||||
};
|
|
||||||
environment.sessionVariables = {
|
|
||||||
KWIN_DRM_ALLOW_NVIDIA_COLORSPACE = "1";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
fileSystems."/" =
|
fileSystems."/" =
|
||||||
@@ -58,15 +41,12 @@
|
|||||||
fsType = "vfat";
|
fsType = "vfat";
|
||||||
};
|
};
|
||||||
|
|
||||||
swapDevices = [ ];
|
fileSystems."/arch" =
|
||||||
|
{ device = "/dev/disk/by-label/endeavouros";
|
||||||
services.beesd.filesystems = {
|
fsType = "btrfs";
|
||||||
root = {
|
|
||||||
spec = "LABEL=nixos";
|
|
||||||
hashTableSizeMB = 4096;
|
|
||||||
verbosity = "crit";
|
|
||||||
};
|
};
|
||||||
};
|
|
||||||
|
swapDevices = [ ];
|
||||||
|
|
||||||
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
powerManagement.cpuFreqGovernor = lib.mkDefault "powersave";
|
||||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
|
|||||||
@@ -1,6 +1,4 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
{
|
{
|
||||||
nextcloudTalkDesktop = pkgs.callPackage ./nextcloud-talk-desktop {};
|
nextcloudTalkDesktop = pkgs.callPackage ./nextcloud-talk-desktop {};
|
||||||
modrinthNvidia = pkgs.callPackage ./modrinth-nvidia {};
|
|
||||||
vulkanHDRLayer = pkgs.callPackage ./vulkan-hdr-layer {};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,43 +0,0 @@
|
|||||||
{ pkgs ? import <nixpkgs> {} }:
|
|
||||||
pkgs.stdenv.mkDerivation {
|
|
||||||
pname = "modrinth-nvidia";
|
|
||||||
version = "0.1.0";
|
|
||||||
src = null;
|
|
||||||
dontUnpack = true;
|
|
||||||
dontBuild = true;
|
|
||||||
dontConfigure = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ pkgs.makeWrapper
|
|
||||||
pkgs.modrinth-app ];
|
|
||||||
|
|
||||||
# Propagate the required Java versions so they are available at runtime
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
pkgs.openjdk8
|
|
||||||
pkgs.openjdk17
|
|
||||||
pkgs.openjdk21
|
|
||||||
];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/bin
|
|
||||||
# Copy the original binary
|
|
||||||
cp ${pkgs.modrinth-app}/bin/ModrinthApp $out/bin/modrinth-nvidia-real
|
|
||||||
chmod +x $out/bin/modrinth-nvidia-real
|
|
||||||
|
|
||||||
# Wrap the binary with makeWrapper, producing a new script at 'modrinth-nvidia'
|
|
||||||
makeWrapper $out/bin/modrinth-nvidia-real $out/bin/modrinth-nvidia \
|
|
||||||
--set WEBKIT_DISABLE_DMABUF_RENDERER 1 \
|
|
||||||
--set WEBKIT_DISABLE_COMPOSITING_MODE 1
|
|
||||||
|
|
||||||
mkdir -p $out/share/applications
|
|
||||||
cat > $out/share/applications/modrinth-nvidia.desktop <<EOF
|
|
||||||
[Desktop Entry]
|
|
||||||
Name=Modrinth (NVIDIA)
|
|
||||||
Comment=Launch Modrinth with environment variables tuned for NVIDIA systems
|
|
||||||
Exec=$out/bin/modrinth-nvidia
|
|
||||||
Icon=modrinth-app
|
|
||||||
Terminal=false
|
|
||||||
Type=Application
|
|
||||||
Categories=Game;
|
|
||||||
EOF
|
|
||||||
'';
|
|
||||||
}
|
|
||||||
@@ -1,61 +1,52 @@
|
|||||||
{
|
{ lib
|
||||||
lib,
|
, stdenv
|
||||||
stdenv,
|
, fetchzip
|
||||||
fetchzip,
|
, autoPatchelfHook
|
||||||
autoPatchelfHook,
|
|
||||||
nss,
|
, nss
|
||||||
cairo,
|
, cairo
|
||||||
xorg,
|
, xorg
|
||||||
libxkbcommon,
|
, libxkbcommon
|
||||||
alsa-lib,
|
, alsa-lib
|
||||||
at-spi2-core,
|
, at-spi2-core
|
||||||
mesa,
|
, mesa
|
||||||
pango,
|
, pango
|
||||||
libdrm,
|
, libdrm
|
||||||
vivaldi-ffmpeg-codecs,
|
, vivaldi-ffmpeg-codecs
|
||||||
gtk3,
|
, gtk3
|
||||||
libGL,
|
, libGL
|
||||||
libglvnd,
|
, libglvnd
|
||||||
systemd,
|
, systemd
|
||||||
}:
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation (finalAttrs: rec {
|
stdenv.mkDerivation (finalAttrs: {
|
||||||
pname = "nextcloud-talk-desktop";
|
pname = "nextcloud-talk-desktop";
|
||||||
version = "0.39.0";
|
version = "0.29.0";
|
||||||
|
|
||||||
# Building from source would require building also building Server and Talk components
|
# Building from source would require building also building Server and Talk components
|
||||||
# See https://github.com/nextcloud/talk-desktop?tab=readme-ov-file#%EF%B8%8F-prerequisites
|
# See https://github.com/nextcloud/talk-desktop?tab=readme-ov-file#%EF%B8%8F-prerequisites
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://github.com/nextcloud-releases/talk-desktop/releases/download/v${finalAttrs.version}/Nextcloud.Talk-linux-x64-${finalAttrs.version}.zip";
|
url = "https://github.com/nextcloud-releases/talk-desktop/releases/download/v${finalAttrs.version}/Nextcloud.Talk-linux-x64-${finalAttrs.version}.zip";
|
||||||
hash = "sha256-f8X6I2Je9wgstMTuYGaX7AXAqpZC92RUAltDVsHr9Vo=";
|
hash = "sha256-fBIeNv8tfrVTFExLQDBPhIazvbsJ7a76+W9G0cuQDlw=";
|
||||||
stripRoot = false;
|
stripRoot = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
nativeBuildInputs = [ autoPatchelfHook ];
|
nativeBuildInputs = [ autoPatchelfHook ];
|
||||||
|
|
||||||
buildInputs =
|
buildInputs = [
|
||||||
[
|
nss
|
||||||
nss
|
cairo
|
||||||
cairo
|
alsa-lib
|
||||||
alsa-lib
|
at-spi2-core
|
||||||
at-spi2-core
|
pango
|
||||||
pango
|
libdrm
|
||||||
libdrm
|
libxkbcommon
|
||||||
libxkbcommon
|
gtk3
|
||||||
gtk3
|
vivaldi-ffmpeg-codecs
|
||||||
vivaldi-ffmpeg-codecs
|
mesa
|
||||||
mesa
|
libGL
|
||||||
libGL
|
libglvnd
|
||||||
libglvnd
|
] ++ (with xorg; [libX11 libXcomposite libXdamage libXrandr libXfixes libXcursor]);
|
||||||
]
|
|
||||||
++ (with xorg; [
|
|
||||||
libX11
|
|
||||||
libXcomposite
|
|
||||||
libXdamage
|
|
||||||
libXrandr
|
|
||||||
libXfixes
|
|
||||||
libXcursor
|
|
||||||
]);
|
|
||||||
|
|
||||||
# Required to launch the application and proceed past the zygote_linux fork() process
|
# Required to launch the application and proceed past the zygote_linux fork() process
|
||||||
# Fixes `Zygote could not fork`
|
# Fixes `Zygote could not fork`
|
||||||
@@ -64,23 +55,25 @@ stdenv.mkDerivation (finalAttrs: rec {
|
|||||||
preInstall = ''
|
preInstall = ''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
mkdir -p $out/opt
|
mkdir -p $out/opt
|
||||||
|
|
||||||
cp -r $src/* $out/opt/
|
cp -r $src/* $out/opt/
|
||||||
'';
|
'';
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
runHook preInstall
|
runHook preInstall
|
||||||
|
|
||||||
# Link the application in $out/bin away from contents of `preInstall`
|
# Link the application in $out/bin away from contents of `preInstall`
|
||||||
ln -s "$out/opt/Nextcloud Talk" $out/bin/nextcloud-talk-desktop
|
ln -s "$out/opt/Nextcloud Talk-linux-x64/Nextcloud Talk" $out/bin/${finalAttrs.pname}
|
||||||
|
|
||||||
runHook postInstall
|
runHook postInstall
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description = "Nextcloud Talk Desktop Client";
|
description = "Nextcloud Talk Desktop Client Preview";
|
||||||
homepage = "https://github.com/nextcloud/talk-desktop";
|
homepage = "https://github.com/nextcloud/talk-desktop";
|
||||||
changelog = "https://github.com/nextcloud/talk-desktop/blob/${finalAttrs.version}/CHANGELOG.md";
|
changelog = "https://github.com/nextcloud/talk-desktop/blob/${finalAttrs.version}/CHANGELOG.md";
|
||||||
license = licenses.agpl3Only;
|
license = licenses.agpl3Only;
|
||||||
maintainers = with maintainers; [ kashw2 ];
|
maintainers = with maintainers; [ kashw2 ];
|
||||||
mainProgram = "nextcloud-talk-desktop";
|
mainProgram = finalAttrs.pname;
|
||||||
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
|
|
||||||
};
|
};
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -1,34 +0,0 @@
|
|||||||
{ lib, stdenv, fetchFromGitHub, meson, pkg-config, vulkan-loader, ninja, writeText, vulkan-headers, vulkan-utility-libraries, jq, libX11, libXrandr, libxcb, wayland, wayland-scanner }:
|
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
|
||||||
pname = "vulkan-hdr-layer";
|
|
||||||
version = "63d2eec";
|
|
||||||
|
|
||||||
src = (fetchFromGitHub {
|
|
||||||
owner = "Zamundaaa";
|
|
||||||
repo = "VK_hdr_layer";
|
|
||||||
rev = "869199cd2746e7f69cf19955153080842b6dacfc";
|
|
||||||
fetchSubmodules = true;
|
|
||||||
hash = "sha256-xfVYI+Aajmnf3BTaY2Ysg5fyDO6SwDFGyU0L+F+E3is=";
|
|
||||||
}).overrideAttrs (_: {
|
|
||||||
GIT_CONFIG_COUNT = 1;
|
|
||||||
GIT_CONFIG_KEY_0 = "url.https://github.com/.insteadOf";
|
|
||||||
GIT_CONFIG_VALUE_0 = "git@github.com:";
|
|
||||||
});
|
|
||||||
|
|
||||||
nativeBuildInputs = [ vulkan-headers meson ninja pkg-config jq ];
|
|
||||||
|
|
||||||
buildInputs = [ vulkan-headers vulkan-loader vulkan-utility-libraries libX11 libXrandr libxcb wayland wayland-scanner ];
|
|
||||||
|
|
||||||
# Help vulkan-loader find the validation layers
|
|
||||||
setupHook = writeText "setup-hook" ''
|
|
||||||
addToSearchPath XDG_DATA_DIRS @out@/share
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "Layers providing Vulkan HDR";
|
|
||||||
homepage = "https://github.com/Zamundaaa/VK_hdr_layer";
|
|
||||||
platforms = platforms.linux;
|
|
||||||
license = licenses.mit;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -10,7 +10,7 @@ in
|
|||||||
enable = mkEnableOption "Enable the audio role";
|
enable = mkEnableOption "Enable the audio role";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config =
|
||||||
{
|
{
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
paprefs
|
paprefs
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ in
|
|||||||
enable = mkEnableOption "Enable the bluetooth role";
|
enable = mkEnableOption "Enable the bluetooth role";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config =
|
||||||
{
|
{
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
hardware.bluetooth.powerOnBoot = true;
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
|||||||
@@ -1,7 +1,10 @@
|
|||||||
{ lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.roles;
|
||||||
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./audio
|
./audio
|
||||||
@@ -16,6 +19,10 @@ with lib;
|
|||||||
./virtualisation
|
./virtualisation
|
||||||
];
|
];
|
||||||
|
|
||||||
|
options.roles = {
|
||||||
|
enable = mkEnableOption "Enable roles";
|
||||||
|
};
|
||||||
|
|
||||||
config = {
|
config = {
|
||||||
i18n.defaultLocale = "en_US.UTF-8";
|
i18n.defaultLocale = "en_US.UTF-8";
|
||||||
i18n.extraLocaleSettings = {
|
i18n.extraLocaleSettings = {
|
||||||
@@ -31,25 +38,16 @@ with lib;
|
|||||||
};
|
};
|
||||||
time.timeZone = "America/Los_Angeles";
|
time.timeZone = "America/Los_Angeles";
|
||||||
|
|
||||||
# Don't go to emergency mode if we aren't able to mount filesystems.
|
|
||||||
# This is silly if you have multiple hard drives or partitions
|
|
||||||
# configured on a machine and then one goes away intentionally or
|
|
||||||
# unintentionally. If the system is already booting, let it continue
|
|
||||||
# to try and boot.
|
|
||||||
systemd.enableEmergencyMode = false;
|
|
||||||
|
|
||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment.systemPackages = with pkgs; [
|
||||||
|
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
git
|
git
|
||||||
pciutils
|
|
||||||
vim
|
|
||||||
usbutils
|
|
||||||
];
|
];
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
package = pkgs.nix;
|
package = pkgs.nixFlakes;
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
buildMachines = [{
|
buildMachines = [{
|
||||||
hostName = "z790prors.oglehome";
|
hostName = "z790prors.oglehome";
|
||||||
@@ -67,12 +65,9 @@ with lib;
|
|||||||
substituters = [
|
substituters = [
|
||||||
"https://hyprland.cachix.org"
|
"https://hyprland.cachix.org"
|
||||||
];
|
];
|
||||||
};
|
trusted-public-keys = [
|
||||||
|
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
||||||
gc = {
|
];
|
||||||
automatic = true;
|
|
||||||
randomizedDelaySec = "14m";
|
|
||||||
options = "--delete-older-than 10d";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -5,19 +5,12 @@ with lib;
|
|||||||
let
|
let
|
||||||
cfg = config.roles.desktop;
|
cfg = config.roles.desktop;
|
||||||
|
|
||||||
customPackages = pkgs.callPackage ../../packages {};
|
|
||||||
|
|
||||||
basePackages = with pkgs; [
|
basePackages = with pkgs; [
|
||||||
brightnessctl
|
brightnessctl
|
||||||
mangohud # Should probably get refactored with steam/gamescope out to a gaming role
|
|
||||||
modrinth-app
|
|
||||||
protonup-qt
|
|
||||||
|
|
||||||
#customPackages.vulkanHDRLayer
|
|
||||||
];
|
];
|
||||||
|
|
||||||
x11BasePackages = with pkgs; [
|
x11BasePackages = with pkgs; [
|
||||||
customPackages.modrinthNvidia
|
|
||||||
];
|
];
|
||||||
|
|
||||||
x11OnlyPackages = with pkgs; [
|
x11OnlyPackages = with pkgs; [
|
||||||
@@ -42,10 +35,6 @@ in
|
|||||||
type = types.bool;
|
type = types.bool;
|
||||||
default = false;
|
default = false;
|
||||||
};
|
};
|
||||||
waylandOnly = mkOption {
|
|
||||||
type = types.bool;
|
|
||||||
default = false;
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = mkIf cfg.enable
|
||||||
@@ -82,41 +71,10 @@ in
|
|||||||
|
|
||||||
programs.kdeconnect.enable = true;
|
programs.kdeconnect.enable = true;
|
||||||
programs.java.enable = true;
|
programs.java.enable = true;
|
||||||
programs.gamemode = {
|
|
||||||
enable = true;
|
|
||||||
|
|
||||||
};
|
|
||||||
programs.gamescope = {
|
|
||||||
enable = true;
|
|
||||||
#capSysNice = true;
|
|
||||||
args = [
|
|
||||||
#"--adaptive-sync"
|
|
||||||
#"--nested-refresh 165"
|
|
||||||
#"--backend wayland"
|
|
||||||
"--hdr-enabled"
|
|
||||||
"--hdr-itm-enable"
|
|
||||||
"--hdr-debug-force-output"
|
|
||||||
"--mangoapp"
|
|
||||||
"--rt"
|
|
||||||
"--steam"
|
|
||||||
#"--xwayland-count 2"
|
|
||||||
];
|
|
||||||
env = {
|
|
||||||
#PROTON_DISABLE_NVAPI = "1";
|
|
||||||
MANGOHUD = "1";
|
|
||||||
#MANGOHUD_CONFIG = "cpu_temp gpu_temp ram vram";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = true;
|
remotePlay.openFirewall = true;
|
||||||
localNetworkGameTransfers.openFirewall = true;
|
localNetworkGameTransfers.openFirewall = true;
|
||||||
gamescopeSession = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
extraCompatPackages = with pkgs; [
|
|
||||||
proton-ge-bin
|
|
||||||
];
|
|
||||||
#package = pkgs.steam.override {
|
#package = pkgs.steam.override {
|
||||||
#withJava = true;
|
#withJava = true;
|
||||||
#withPrimus = true;
|
#withPrimus = true;
|
||||||
@@ -125,7 +83,7 @@ in
|
|||||||
};
|
};
|
||||||
services.sunshine = {
|
services.sunshine = {
|
||||||
enable = true;
|
enable = true;
|
||||||
autoStart = false;
|
autoStart = true;
|
||||||
capSysAdmin = true;
|
capSysAdmin = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
@@ -135,10 +93,11 @@ in
|
|||||||
|
|
||||||
environment.systemPackages = with pkgs; mkMerge [
|
environment.systemPackages = with pkgs; mkMerge [
|
||||||
basePackages
|
basePackages
|
||||||
(mkIf (!cfg.waylandOnly) x11BasePackages)
|
x11BasePackages
|
||||||
(mkIf cfg.x11Only x11OnlyPackages)
|
(mkIf cfg.x11Only x11OnlyPackages)
|
||||||
|
# TODO: Do we need a "wayland only" mode?
|
||||||
(mkIf (!cfg.x11Only) waylandBasePackages)
|
(mkIf (!cfg.x11Only) waylandBasePackages)
|
||||||
(mkIf (cfg.waylandOnly) waylandOnlyPackages)
|
(mkIf (!cfg.x11Only) waylandOnlyPackages)
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
33
roles/k3s/default.nix
Normal file
33
roles/k3s/default.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.roles.k3s;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.roles.k3s = {
|
||||||
|
enable = mkEnableOption "Enable the k3s role";
|
||||||
|
};
|
||||||
|
|
||||||
|
config =
|
||||||
|
{
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
6443 # k3s: required so that pods can reach the API server (running on port 6443 by default)
|
||||||
|
2379 # k3s, etcd clients: required if using a "High Availability Embedded etcd" configuration
|
||||||
|
2380 # k3s, etcd peers: required if using a "High Availability Embedded etcd" configuration
|
||||||
|
];
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
8472 # k3s, flannel: required if using multi-node for inter-node networking
|
||||||
|
];
|
||||||
|
services.k3s.enable = true;
|
||||||
|
services.k3s.role = "server";
|
||||||
|
sops.secrets.k3s_cluster_token = {};
|
||||||
|
services.k3s.tokenFile = "/run/secrets/k3s_cluster_token";
|
||||||
|
services.k3s.serverAddr = "https://10.0.0.222:6443";
|
||||||
|
services.k3s.extraFlags = toString [
|
||||||
|
# "--debug" # Optionally add additional args to k3s
|
||||||
|
];
|
||||||
|
services.k3s.gracefulNodeShutdown.enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -25,47 +25,39 @@ in
|
|||||||
steam-library
|
steam-library
|
||||||
youtube
|
youtube
|
||||||
]);
|
]);
|
||||||
in mkIf cfg.enable
|
in {
|
||||||
{
|
users.extraUsers.kodi.isNormalUser = true;
|
||||||
users.extraUsers.kodi.isNormalUser = true;
|
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
allowedTCPPorts = [ 8080 ];
|
allowedTCPPorts = [ 8080 ];
|
||||||
allowedUDPPorts = [ 8080 ];
|
allowedUDPPorts = [ 8080 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services = mkIf cfg.autologin {
|
||||||
|
cage = mkIf cfg.wayland {
|
||||||
|
user = "kodi";
|
||||||
|
program = "${kodiPkg}/bin/kodi-standalone";
|
||||||
|
enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
services = if cfg.autologin then mkMerge [
|
xserver = mkIf (!cfg.wayland) {
|
||||||
(mkIf cfg.wayland {
|
enable = true;
|
||||||
cage = mkIf cfg.wayland {
|
desktopManager.kodi = {
|
||||||
user = "kodi";
|
enable = true;
|
||||||
program = "${kodiPkg}/bin/kodi-standalone";
|
package = kodiPkg;
|
||||||
enable = true;
|
};
|
||||||
};
|
displayManager.lightdm = {
|
||||||
xserver = {
|
enable = true;
|
||||||
enable = false;
|
greeter.enable = false;
|
||||||
autorun = false;
|
};
|
||||||
};
|
displayManager.sddm.enable = mkForce false;
|
||||||
})
|
};
|
||||||
|
displayManager = mkIf (!cfg.wayland) {
|
||||||
(mkIf (!cfg.wayland) {
|
autoLogin.enable = true;
|
||||||
xserver = {
|
autoLogin.user = "kodi";
|
||||||
enable = true;
|
defaultSession = "kodi";
|
||||||
desktopManager.kodi = {
|
sessionData.autologinSession = "kodi";
|
||||||
enable = true;
|
};
|
||||||
package = kodiPkg;
|
|
||||||
};
|
|
||||||
displayManager.lightdm = {
|
|
||||||
enable = true;
|
|
||||||
greeter.enable = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
displayManager = {
|
|
||||||
autoLogin.enable = true;
|
|
||||||
autoLogin.user = "kodi";
|
|
||||||
defaultSession = "kodi";
|
|
||||||
sessionData.autologinSession = "kodi";
|
|
||||||
};
|
|
||||||
})
|
|
||||||
] else {};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,16 +16,15 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = {
|
||||||
{
|
fileSystems."/media" = {
|
||||||
fileSystems."/media" = {
|
device = "10.0.0.43:/media";
|
||||||
device = "10.0.0.43:/media";
|
fsType = "nfs";
|
||||||
fsType = "nfs";
|
options = [
|
||||||
options = [
|
"defaults"
|
||||||
"defaults"
|
"nofail"
|
||||||
"nofail"
|
"softreval"
|
||||||
"softreval"
|
];
|
||||||
];
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,22 +2,18 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.roles.printing;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.roles.printing = {
|
options.roles.printing = {
|
||||||
enable = mkEnableOption "Enable default printing setup";
|
enable = mkEnableOption "Enable default printing setup";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = {
|
||||||
{
|
services.printing.enable = true;
|
||||||
services.printing.enable = true;
|
|
||||||
|
|
||||||
services.avahi = {
|
services.avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
nssmdns4 = true;
|
nssmdns4 = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,31 +10,30 @@ in
|
|||||||
enable = mkEnableOption "Enable the spotifyd role";
|
enable = mkEnableOption "Enable the spotifyd role";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = {
|
||||||
{
|
roles.audio.enable = true;
|
||||||
roles.audio.enable = true;
|
|
||||||
|
|
||||||
services.spotifyd = {
|
services.spotifyd = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
global = {
|
global = {
|
||||||
use_mpris = false;
|
use_mpris = false;
|
||||||
backend = "alsa";
|
backend = "alsa";
|
||||||
device = "sysdefault";
|
device = "sysdefault";
|
||||||
bitrate = 320;
|
bitrate = 320;
|
||||||
cache_path = "";
|
cache_path = "";
|
||||||
zeroconf_port = 1234;
|
zeroconf_port = 1234;
|
||||||
autoplay = false;
|
autoplay = false;
|
||||||
};
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
networking.firewall.allowedTCPPorts = [
|
|
||||||
1234
|
|
||||||
57621
|
|
||||||
];
|
|
||||||
networking.firewall.allowedUDPPorts = [
|
|
||||||
5353
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
1234
|
||||||
|
57621
|
||||||
|
];
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
5353
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,11 +21,11 @@ in
|
|||||||
kidsPackages = with pkgs; [
|
kidsPackages = with pkgs; [
|
||||||
firefox
|
firefox
|
||||||
];
|
];
|
||||||
in mkIf cfg.enable {
|
in {
|
||||||
users.users.johno = {
|
users.users.johno = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "John Ogle";
|
description = "John Ogle";
|
||||||
extraGroups = [ "wheel" "networkmanager" "audio" "video" ] ++ cfg.extraGroups;
|
extraGroups = [ "wheel" "networkmanager" "audio" ] ++ cfg.extraGroups;
|
||||||
};
|
};
|
||||||
|
|
||||||
users.users.eli = mkIf cfg.kids {
|
users.users.eli = mkIf cfg.kids {
|
||||||
|
|||||||
@@ -2,17 +2,13 @@
|
|||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.roles.virtualisation;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
options.roles.virtualisation = {
|
options.roles.virtualisation = {
|
||||||
enable = mkEnableOption "Enable virtualisation";
|
enable = mkEnableOption "Enable virtualisation";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable
|
config = {
|
||||||
{
|
virtualisation.libvirtd.enable = true;
|
||||||
virtualisation.libvirtd.enable = true;
|
programs.virt-manager.enable = true;
|
||||||
programs.virt-manager.enable = true;
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ example_number: ENC[AES256_GCM,data:jmLoVC+8YIlB2A==,iv:u9GztD/aE9UN5zWq3Am2nhYw
|
|||||||
example_booleans:
|
example_booleans:
|
||||||
- ENC[AES256_GCM,data:ZacILA==,iv:xo+7aFFQXzbJzKDY0mYTeFLf10AlnHkywDRAMHeprEM=,tag:F/OnJdqjrZP02sTLWLmnbg==,type:bool]
|
- ENC[AES256_GCM,data:ZacILA==,iv:xo+7aFFQXzbJzKDY0mYTeFLf10AlnHkywDRAMHeprEM=,tag:F/OnJdqjrZP02sTLWLmnbg==,type:bool]
|
||||||
- ENC[AES256_GCM,data:NaFrvrs=,iv:kKDmGs9u/w5qrZ/379Jlx8AotUVADvH+eHwHCqykmkE=,tag:nD9TsmkXUm4ABaT1ABWmcg==,type:bool]
|
- ENC[AES256_GCM,data:NaFrvrs=,iv:kKDmGs9u/w5qrZ/379Jlx8AotUVADvH+eHwHCqykmkE=,tag:nD9TsmkXUm4ABaT1ABWmcg==,type:bool]
|
||||||
|
k3s_cluster_token: ENC[AES256_GCM,data:JsfPOT6I1zViyfFkXchFSzCgsB0jRVj3ZxcHQ7GV7xMRfYWkquQcDYy5TWotWXl2YvUM8Fc2sbzHwsoq1kECS47AIbKO+Mz9Y7FbQnZHxTHDfbQTYmmkDGkHGDkBxWB+N1e1bdP5Dkuc3LlN,iv:PdOi6hOFXoaYVuBSuje0lYmUVCsW0f1lS5rL3quiDH8=,tag:3Tb+rLx7j7HE8BCDevfMxw==,type:str]
|
||||||
sops:
|
sops:
|
||||||
kms: []
|
kms: []
|
||||||
gcp_kms: []
|
gcp_kms: []
|
||||||
@@ -41,8 +42,8 @@ sops:
|
|||||||
aU1IQzdTMVhnbHhsNENwMG05dXhOU2MK8fEJea9sL5JLgltVlTI6mRDb+Tl83Iz7
|
aU1IQzdTMVhnbHhsNENwMG05dXhOU2MK8fEJea9sL5JLgltVlTI6mRDb+Tl83Iz7
|
||||||
4wPYvo68cn8vimXqSk45ldHRrNa3zhYai3CalQaGtDT3fkWGvSq0zQ==
|
4wPYvo68cn8vimXqSk45ldHRrNa3zhYai3CalQaGtDT3fkWGvSq0zQ==
|
||||||
-----END AGE ENCRYPTED FILE-----
|
-----END AGE ENCRYPTED FILE-----
|
||||||
lastmodified: "2024-09-28T15:44:39Z"
|
lastmodified: "2024-10-06T00:23:29Z"
|
||||||
mac: ENC[AES256_GCM,data:YUi+AbS6DQTmrSyOXsbkZWfWaMyKGR8fYm/MHcxmqChi8hng+UWHBZjsLBe6ef/FLH3rnP6bhfwK8KYnVS6fHvHahoqIq/BHydTsqrclnSgRAGl8Lh0yuhwISNRvP1AuW5pd50sdQaS0uGOtzOCharI/pZ9H+cmt2SB5WOCdeLs=,iv:2nBG6it3tNSLSia8hGzCcesuK9QwzB9EzfjWegjQ2kw=,tag:RGGPAPw/rQKhWA2OqLjTJw==,type:str]
|
mac: ENC[AES256_GCM,data:adzK7q2CJOcurpaZHmNDe8O9EqdCuwopmSS2ysFHDkJ8GtXdFQQBabwwlYz/zi0jIHBBUP4JIqnffg+rsM2R0fAvGMnIZvwbD9Yo6efiEK5kVgbwze6O9SaqOpgXr8R8zxsgm9gJWtjrAqwOdKTqb9tIN24cMKnhFr6UVXZen0U=,iv:MTTavZ9eq9ibWwBFiJ1OHRQswHXwLacc2PBMSztMZ+w=,tag:X8mz2hX1cTKdWPlEQTyzHA==,type:str]
|
||||||
pgp: []
|
pgp: []
|
||||||
unencrypted_suffix: _unencrypted
|
unencrypted_suffix: _unencrypted
|
||||||
version: 3.9.0
|
version: 3.9.0
|
||||||
|
|||||||
Reference in New Issue
Block a user