Compare commits
35 Commits
sway
...
c0d7d934f3
| Author | SHA1 | Date | |
|---|---|---|---|
| c0d7d934f3 | |||
| cb91f69c49 | |||
| bc6378cb22 | |||
| a13676311a | |||
| ec57592715 | |||
| 051c223eb7 | |||
| 6030f6ea42 | |||
| df77fd5c74 | |||
| 458bcb4cdf | |||
| 40e10bab34 | |||
| 3477a3480f | |||
| d2ae7f8e11 | |||
| ff3a0a4738 | |||
| 1a857399a6 | |||
| 4620288747 | |||
| b5f2e1738f | |||
| 8e27017aa4 | |||
| 4ca9804db8 | |||
| 6417540b51 | |||
| 3f1bdc7af0 | |||
| 4d39f8a635 | |||
| 736194b8b4 | |||
| 4096dc75b9 | |||
| 18afc61e33 | |||
| 9ba6006fca | |||
| 000db04502 | |||
| 42a34a6c40 | |||
| 5e029720ef | |||
| 5289d8847b | |||
| d9e5fdb0df | |||
| fb8431da2d | |||
| e9d14167aa | |||
| 3a9348730b | |||
| 1da9e92a24 | |||
| 75baf55d5b |
11
.sops.yaml
Normal file
11
.sops.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
keys:
|
||||||
|
- &admin_johno age1ls6a033d4p4u8h4rwazjwt8w4c4xg73wq0mdnm64jajxzcz4k9asvjnks3
|
||||||
|
- &host_z790prors age12l5u7sw59u5pkwp83qm8t3ff7uv0ld2c9k3zh5j4ame9k2szcynqu7ftqe
|
||||||
|
- &host_nixbook age1fa3zqavfmqk4ssa22yne9td90gyqv9q5a8y0s8jp3xak8q7p3yjqyn7rkg
|
||||||
|
creation_rules:
|
||||||
|
- path_regex: secrets/[^/]+\.(yaml|json|env|ini)$
|
||||||
|
key_groups:
|
||||||
|
- age:
|
||||||
|
- *admin_johno
|
||||||
|
- *host_z790prors
|
||||||
|
- *host_nixbook
|
||||||
76
flake.lock
generated
76
flake.lock
generated
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725694918,
|
"lastModified": 1728041527,
|
||||||
"narHash": "sha256-+HsjshXpqNiJHLaJaK0JnIicJ/a1NquKcfn4YZ3ILgg=",
|
"narHash": "sha256-03liqiJtk9UP7YQHW4r8MduKCK242FQzud8iWvvlK+o=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "aaebdea769a5c10f1c6e50ebdf5924c1a13f0cda",
|
"rev": "509dbf8d45606b618e9ec3bbe4e936b7c5bc6c1e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -22,11 +22,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1725634671,
|
"lastModified": 1727802920,
|
||||||
"narHash": "sha256-v3rIhsJBOMLR8e/RNWxr828tB+WywYIoajrZKFM+0Gg=",
|
"narHash": "sha256-HP89HZOT0ReIbI7IJZJQoJgxvB2Tn28V6XS3MNKnfLs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "574d1eac1c200690e27b8eb4e24887f8df7ac27c",
|
"rev": "27e30d177e57d912d614c88c622dcfdb2e6e6515",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -36,10 +36,72 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-stable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1725762081,
|
||||||
|
"narHash": "sha256-vNv+aJUW5/YurRy1ocfvs4q/48yVESwlC/yHzjkZSP8=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "dc454045f5b5d814e5862a6d057e7bb5c29edc05",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "release-24.05",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"plasma-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"home-manager": [
|
||||||
|
"home-manager"
|
||||||
|
],
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1728750492,
|
||||||
|
"narHash": "sha256-9IHlIsH4gLqQjS2lFbEnsl/ItdqzBBLWLsyXS0k0jf8=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "plasma-manager",
|
||||||
|
"rev": "c6d4b6f3e0138c08f37d66fcfbcbe37dab08f108",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "plasma-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs",
|
||||||
|
"plasma-manager": "plasma-manager",
|
||||||
|
"sops-nix": "sops-nix"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sops-nix": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
],
|
||||||
|
"nixpkgs-stable": "nixpkgs-stable"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1727423009,
|
||||||
|
"narHash": "sha256-+4B/dQm2EnORIk0k2wV3aHGaE0WXTBjColXjj7qWh10=",
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"rev": "127a96f49ddc377be6ba76964411bab11ae27803",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "Mic92",
|
||||||
|
"repo": "sops-nix",
|
||||||
|
"type": "github"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
57
flake.nix
57
flake.nix
@@ -4,54 +4,69 @@
|
|||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
|
||||||
|
sops-nix = {
|
||||||
|
url = "github:Mic92/sops-nix";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
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";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... } @ inputs: {
|
outputs = { self, nixpkgs, ... } @ inputs: let
|
||||||
nixosConfigurations.z790prors-nix = nixpkgs.lib.nixosSystem {
|
baseModules = [
|
||||||
|
./roles
|
||||||
|
inputs.sops-nix.nixosModules.sops
|
||||||
|
inputs.home-manager.nixosModules.home-manager
|
||||||
|
{
|
||||||
|
home-manager.useGlobalPkgs = true;
|
||||||
|
home-manager.useUserPackages = true;
|
||||||
|
home-manager.sharedModules = [ inputs.plasma-manager.homeManagerModules.plasma-manager ];
|
||||||
|
}
|
||||||
|
];
|
||||||
|
in {
|
||||||
|
nixosConfigurations.z790prors-nix = nixpkgs.lib.nixosSystem rec {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = baseModules ++ [
|
||||||
./machines/z790prors/configuration.nix
|
./machines/z790prors/configuration.nix
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
||||||
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 {};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations.nix-book = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.nix-book = nixpkgs.lib.nixosSystem rec {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = baseModules ++ [
|
||||||
./roles
|
|
||||||
./machines/nix-book/configuration.nix
|
./machines/nix-book/configuration.nix
|
||||||
inputs.home-manager.nixosModules.home-manager
|
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
||||||
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 {};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixosConfigurations.boxy = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.boxy = nixpkgs.lib.nixosSystem rec {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = { inherit inputs; };
|
modules = baseModules ++ [
|
||||||
modules = [
|
|
||||||
./machines/boxy/configuration.nix
|
./machines/boxy/configuration.nix
|
||||||
inputs.home-manager.nixosModules.home-manager
|
inputs.home-manager.nixosModules.home-manager
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
|
||||||
home-manager.useUserPackages = true;
|
|
||||||
home-manager.extraSpecialArgs = { inherit inputs; };
|
|
||||||
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 {};
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,8 +1,5 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, customPkgs, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
nextcloudTalkDesktop = pkgs.callPackage ./modules/applications/nextcloud-talk-desktop/package.nix {};
|
|
||||||
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.
|
||||||
@@ -62,7 +59,7 @@ in
|
|||||||
pkgs.wofi
|
pkgs.wofi
|
||||||
pkgs.vlc
|
pkgs.vlc
|
||||||
|
|
||||||
nextcloudTalkDesktop
|
customPkgs.nextcloudTalkDesktop
|
||||||
];
|
];
|
||||||
|
|
||||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||||
@@ -106,9 +103,10 @@ in
|
|||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
./modules/applications/emacs/default.nix
|
./modules/emacs
|
||||||
./modules/games/lutris/default.nix
|
./modules/i3+sway
|
||||||
./modules/window_managers/i3/default.nix
|
./modules/lutris
|
||||||
|
./modules/plasma-manager
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.bash.enable = true;
|
programs.bash.enable = true;
|
||||||
@@ -189,15 +187,6 @@ in
|
|||||||
package = pkgs.kdePackages.kdeconnect-kde;
|
package = pkgs.kdePackages.kdeconnect-kde;
|
||||||
};
|
};
|
||||||
|
|
||||||
services.spotifyd = {
|
|
||||||
enable = true;
|
|
||||||
settings = {
|
|
||||||
global = {
|
|
||||||
username = "johnogle222";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
services.syncthing = {
|
services.syncthing = {
|
||||||
enable = true;
|
enable = true;
|
||||||
tray = {
|
tray = {
|
||||||
|
|||||||
@@ -3,6 +3,10 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./home-default.nix
|
./home-default.nix
|
||||||
./modules/window_managers/hyprland/nix-book.nix
|
./modules/hyprland/nix-book.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
home.i3_sway.extraSwayConfig = {
|
||||||
|
output.eDP-1.scale = "1.75";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,6 @@
|
|||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./home-default.nix
|
./home-default.nix
|
||||||
./modules/window_managers/hyprland/z790prors.nix
|
./modules/hyprland/z790prors.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,69 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
let
|
|
||||||
emacs = pkgs.emacs29;
|
|
||||||
doomSync = (let
|
|
||||||
git = pkgs.git;
|
|
||||||
in ''
|
|
||||||
export PATH=${emacs}/bin:${git}/bin:$PATH
|
|
||||||
${config.xdg.configHome}/emacs/bin/doom sync -u -j $((`nproc`/4*3))
|
|
||||||
'');
|
|
||||||
in {
|
|
||||||
home.packages = [
|
|
||||||
pkgs.emacs-all-the-icons-fonts
|
|
||||||
pkgs.fontconfig
|
|
||||||
pkgs.graphviz
|
|
||||||
pkgs.isort
|
|
||||||
pkgs.nerdfonts
|
|
||||||
pkgs.nil # nix lsp language server
|
|
||||||
pkgs.nixfmt-rfc-style
|
|
||||||
(pkgs.ripgrep.override {withPCRE2 = true;})
|
|
||||||
pkgs.pipenv
|
|
||||||
pkgs.poetry
|
|
||||||
pkgs.python3
|
|
||||||
];
|
|
||||||
|
|
||||||
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 = "ac1122ae67d762e09fc6684945b52adff96cf1dc";
|
|
||||||
};
|
|
||||||
# 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 = {
|
|
||||||
DOOMLOCALDIR = "${config.xdg.dataHome}/doom";
|
|
||||||
EDITOR = "emacs -nw";
|
|
||||||
};
|
|
||||||
|
|
||||||
home.sessionPath = [
|
|
||||||
"${config.xdg.configHome}/emacs/bin"
|
|
||||||
];
|
|
||||||
|
|
||||||
programs.emacs = {
|
|
||||||
enable = true;
|
|
||||||
package = emacs;
|
|
||||||
};
|
|
||||||
|
|
||||||
xdg.configFile."doom" = {
|
|
||||||
source = ./doom;
|
|
||||||
# Sync doom if we updated the config
|
|
||||||
onChange = doomSync;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
67
home/modules/emacs/default.nix
Normal file
67
home/modules/emacs/default.nix
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
home.packages = [
|
||||||
|
pkgs.emacs-all-the-icons-fonts
|
||||||
|
pkgs.fontconfig
|
||||||
|
pkgs.graphviz
|
||||||
|
pkgs.isort
|
||||||
|
pkgs.nerdfonts
|
||||||
|
pkgs.nil # nix lsp language server
|
||||||
|
pkgs.nixfmt-rfc-style
|
||||||
|
(pkgs.ripgrep.override {withPCRE2 = true;})
|
||||||
|
pkgs.pipenv
|
||||||
|
pkgs.poetry
|
||||||
|
pkgs.python3
|
||||||
|
];
|
||||||
|
|
||||||
|
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 = {
|
||||||
|
DOOMLOCALDIR = "${config.xdg.dataHome}/doom";
|
||||||
|
EDITOR = "emacs -nw";
|
||||||
|
};
|
||||||
|
|
||||||
|
home.sessionPath = [
|
||||||
|
"${config.xdg.configHome}/emacs/bin"
|
||||||
|
];
|
||||||
|
|
||||||
|
xdg.configFile."doom" = {
|
||||||
|
source = ./doom;
|
||||||
|
# Sync doom if we updated the config
|
||||||
|
onChange = doomSync;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
Before Width: | Height: | Size: 842 KiB After Width: | Height: | Size: 842 KiB |
146
home/modules/i3+sway/default.nix
Normal file
146
home/modules/i3+sway/default.nix
Normal file
@@ -0,0 +1,146 @@
|
|||||||
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.home.i3_sway;
|
||||||
|
i3_cfg = config.xsession.windowManager.i3.config;
|
||||||
|
|
||||||
|
shared_config = recursiveUpdate rec {
|
||||||
|
modifier = "Mod4";
|
||||||
|
terminal = "kitty";
|
||||||
|
defaultWorkspace = "workspace number 1";
|
||||||
|
|
||||||
|
keybindings = {
|
||||||
|
"${shared_config.modifier}+Return" = "exec ${terminal}";
|
||||||
|
"${shared_config.modifier}+Shift+q" = "kill";
|
||||||
|
"${shared_config.modifier}+d" = "exec ${i3_cfg.menu}";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+h" = "focus left";
|
||||||
|
"${shared_config.modifier}+j" = "focus down";
|
||||||
|
"${shared_config.modifier}+k" = "focus up";
|
||||||
|
"${shared_config.modifier}+l" = "focus right";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+Shift+h" = "move left";
|
||||||
|
"${shared_config.modifier}+Shift+j" = "move down";
|
||||||
|
"${shared_config.modifier}+Shift+k" = "move up";
|
||||||
|
"${shared_config.modifier}+Shift+l" = "move right";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+Left" = "focus left";
|
||||||
|
"${shared_config.modifier}+Down" = "focus down";
|
||||||
|
"${shared_config.modifier}+Up" = "focus up";
|
||||||
|
"${shared_config.modifier}+Right" = "focus right";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+Shift+Left" = "move left";
|
||||||
|
"${shared_config.modifier}+Shift+Down" = "move down";
|
||||||
|
"${shared_config.modifier}+Shift+Up" = "move up";
|
||||||
|
"${shared_config.modifier}+Shift+Right" = "move right";
|
||||||
|
|
||||||
|
#"${shared_config.modifier}+h" = "split h";
|
||||||
|
"${shared_config.modifier}+v" = "split v";
|
||||||
|
"${shared_config.modifier}+f" = "fullscreen toggle";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+s" = "layout stacking";
|
||||||
|
"${shared_config.modifier}+w" = "layout tabbed";
|
||||||
|
"${shared_config.modifier}+e" = "layout toggle split";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+Shift+space" = "floating toggle";
|
||||||
|
"${shared_config.modifier}+space" = "focus mode_toggle";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+a" = "focus parent";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+Shift+minus" = "move scratchpad";
|
||||||
|
"${shared_config.modifier}+minus" = "scratchpad show";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+1" = "workspace number 1";
|
||||||
|
"${shared_config.modifier}+2" = "workspace number 2";
|
||||||
|
"${shared_config.modifier}+3" = "workspace number 3";
|
||||||
|
"${shared_config.modifier}+4" = "workspace number 4";
|
||||||
|
"${shared_config.modifier}+5" = "workspace number 5";
|
||||||
|
"${shared_config.modifier}+6" = "workspace number 6";
|
||||||
|
"${shared_config.modifier}+7" = "workspace number 7";
|
||||||
|
"${shared_config.modifier}+8" = "workspace number 8";
|
||||||
|
"${shared_config.modifier}+9" = "workspace number 9";
|
||||||
|
"${shared_config.modifier}+0" = "workspace number 10";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+Shift+1" =
|
||||||
|
"move container to workspace number 1";
|
||||||
|
"${shared_config.modifier}+Shift+2" =
|
||||||
|
"move container to workspace number 2";
|
||||||
|
"${shared_config.modifier}+Shift+3" =
|
||||||
|
"move container to workspace number 3";
|
||||||
|
"${shared_config.modifier}+Shift+4" =
|
||||||
|
"move container to workspace number 4";
|
||||||
|
"${shared_config.modifier}+Shift+5" =
|
||||||
|
"move container to workspace number 5";
|
||||||
|
"${shared_config.modifier}+Shift+6" =
|
||||||
|
"move container to workspace number 6";
|
||||||
|
"${shared_config.modifier}+Shift+7" =
|
||||||
|
"move container to workspace number 7";
|
||||||
|
"${shared_config.modifier}+Shift+8" =
|
||||||
|
"move container to workspace number 8";
|
||||||
|
"${shared_config.modifier}+Shift+9" =
|
||||||
|
"move container to workspace number 9";
|
||||||
|
"${shared_config.modifier}+Shift+0" =
|
||||||
|
"move container to workspace number 10";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+Shift+c" = "reload";
|
||||||
|
"${shared_config.modifier}+Shift+r" = "restart";
|
||||||
|
|
||||||
|
"${shared_config.modifier}+r" = "mode resize";
|
||||||
|
|
||||||
|
"XF86MonBrightnessUp" = "exec brightnessctl s +5%";
|
||||||
|
"XF86MonBrightnessDown" = "exec brightnessctl s 5%-";
|
||||||
|
};
|
||||||
|
} cfg.extraSharedConfig;
|
||||||
|
in {
|
||||||
|
options.home.i3_sway = {
|
||||||
|
extraSharedConfig = mkOption {
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
extraI3Config = mkOption {
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
extraSwayConfig = mkOption {
|
||||||
|
default = {};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
config = {
|
||||||
|
xsession.windowManager.i3 = let
|
||||||
|
base_i3_config = recursiveUpdate shared_config {
|
||||||
|
keybindings = {
|
||||||
|
"${shared_config.modifier}+Shift+e" =
|
||||||
|
"exec i3-nagbar -t warning -m 'Do you want to exit i3?' -b 'Yes' 'i3-msg exit'";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
config = recursiveUpdate base_i3_config cfg.extraI3Config;
|
||||||
|
};
|
||||||
|
|
||||||
|
wayland.windowManager.sway = let
|
||||||
|
base_sway_config = recursiveUpdate shared_config {
|
||||||
|
keybindings = {
|
||||||
|
"${shared_config.modifier}+Shift+e" =
|
||||||
|
"exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit'";
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
"type:keyboard" = {
|
||||||
|
xkb_options = "caps:escape";
|
||||||
|
};
|
||||||
|
"type:touchpad" = {
|
||||||
|
tap = "enabled";
|
||||||
|
tap_button_map = "lrm";
|
||||||
|
drag = "enabled";
|
||||||
|
natural_scroll = "disabled";
|
||||||
|
dwt = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
|
enable = true;
|
||||||
|
config = recursiveUpdate base_sway_config cfg.extraSwayConfig;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
451
home/modules/plasma-manager/default.nix
Normal file
451
home/modules/plasma-manager/default.nix
Normal file
@@ -0,0 +1,451 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
|
||||||
|
# The following can be generated with the command:
|
||||||
|
# nix run github:nix-community/plasma-manager
|
||||||
|
#
|
||||||
|
# Plasma-manager options documentation
|
||||||
|
# https://nix-community.github.io/plasma-manager/options.xhtml
|
||||||
|
#
|
||||||
|
# Polonium usage
|
||||||
|
# https://github.com/zeroxoneafour/polonium/blob/master/docs/usage.md
|
||||||
|
#
|
||||||
|
# TODO: Extract this configuration into something that's a bit easier to manage
|
||||||
|
# TODO: Update shortcuts for better window/tiling/desktop management akin to i3wm
|
||||||
|
# TODO(ambitious): Add Kmail support to plasma-manager
|
||||||
|
{
|
||||||
|
programs.plasma = {
|
||||||
|
enable = true;
|
||||||
|
shortcuts = {
|
||||||
|
"KDE Keyboard Layout Switcher"."Switch to Last-Used Keyboard Layout" = "Meta+Alt+L";
|
||||||
|
"KDE Keyboard Layout Switcher"."Switch to Next Keyboard Layout" = "Meta+Alt+K";
|
||||||
|
"kaccess"."Toggle Screen Reader On and Off" = "Meta+Alt+S";
|
||||||
|
"kcm_touchpad"."Disable Touchpad" = "Touchpad Off";
|
||||||
|
"kcm_touchpad"."Enable Touchpad" = "Touchpad On";
|
||||||
|
"kcm_touchpad"."Toggle Touchpad" = ["Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku,Touchpad Toggle" "Meta+Ctrl+Zenkaku Hankaku,Toggle Touchpad"];
|
||||||
|
"kmix"."decrease_microphone_volume" = "Microphone Volume Down";
|
||||||
|
"kmix"."decrease_volume" = "Volume Down";
|
||||||
|
"kmix"."decrease_volume_small" = "Shift+Volume Down";
|
||||||
|
"kmix"."increase_microphone_volume" = "Microphone Volume Up";
|
||||||
|
"kmix"."increase_volume" = "Volume Up";
|
||||||
|
"kmix"."increase_volume_small" = "Shift+Volume Up";
|
||||||
|
"kmix"."mic_mute" = ["Microphone Mute" "Meta+Volume Mute,Microphone Mute" "Meta+Volume Mute,Mute Microphone"];
|
||||||
|
"kmix"."mute" = "Volume Mute";
|
||||||
|
"ksmserver"."Halt Without Confirmation" = "none,,Shut Down Without Confirmation";
|
||||||
|
"ksmserver"."Lock Session" = ["Meta+L" "Screensaver,Meta+L" "Screensaver,Lock Session"];
|
||||||
|
"ksmserver"."Log Out" = "Ctrl+Alt+Del";
|
||||||
|
"ksmserver"."Log Out Without Confirmation" = "none,,Log Out Without Confirmation";
|
||||||
|
"ksmserver"."LogOut" = "none,,Log Out";
|
||||||
|
"ksmserver"."Reboot" = "none,,Reboot";
|
||||||
|
"ksmserver"."Reboot Without Confirmation" = "none,,Reboot Without Confirmation";
|
||||||
|
"ksmserver"."Shut Down" = "none,,Shut Down";
|
||||||
|
"kwin"."Activate Window Demanding Attention" = "Meta+Ctrl+A";
|
||||||
|
"kwin"."Cycle Overview" = [ ];
|
||||||
|
"kwin"."Cycle Overview Opposite" = [ ];
|
||||||
|
"kwin"."Decrease Opacity" = "none,,Decrease Opacity of Active Window by 5%";
|
||||||
|
"kwin"."Edit Tiles" = "Meta+T";
|
||||||
|
"kwin"."Expose" = "Ctrl+F9";
|
||||||
|
"kwin"."ExposeAll" = ["Ctrl+F10" "Launch (C),Ctrl+F10" "Launch (C),Toggle Present Windows (All desktops)"];
|
||||||
|
"kwin"."ExposeClass" = "Ctrl+F7";
|
||||||
|
"kwin"."ExposeClassCurrentDesktop" = [ ];
|
||||||
|
"kwin"."Grid View" = "Meta+G";
|
||||||
|
"kwin"."Increase Opacity" = "none,,Increase Opacity of Active Window by 5%";
|
||||||
|
"kwin"."Kill Window" = "Meta+Ctrl+Esc";
|
||||||
|
"kwin"."Move Tablet to Next Output" = [ ];
|
||||||
|
"kwin"."MoveMouseToCenter" = "Meta+F6";
|
||||||
|
"kwin"."MoveMouseToFocus" = "Meta+F5";
|
||||||
|
"kwin"."MoveZoomDown" = [ ];
|
||||||
|
"kwin"."MoveZoomLeft" = [ ];
|
||||||
|
"kwin"."MoveZoomRight" = [ ];
|
||||||
|
"kwin"."MoveZoomUp" = [ ];
|
||||||
|
"kwin"."Overview" = "Meta+W";
|
||||||
|
"kwin"."PoloniumCycleEngine" = "Meta+|,none,Polonium: Cycle Engine";
|
||||||
|
"kwin"."PoloniumFocusAbove" = "Meta+K,none,Polonium: Focus Above";
|
||||||
|
"kwin"."PoloniumFocusBelow" = "Meta+J,none,Polonium: Focus Below";
|
||||||
|
"kwin"."PoloniumFocusLeft" = "Meta+H,none,Polonium: Focus Left";
|
||||||
|
"kwin"."PoloniumFocusRight" = "Meta+L,none,Polonium: Focus Right";
|
||||||
|
"kwin"."PoloniumInsertAbove" = "Meta+Shift+K,none,Polonium: Insert Above";
|
||||||
|
"kwin"."PoloniumInsertBelow" = "Meta+Shift+J,none,Polonium: Insert Below";
|
||||||
|
"kwin"."PoloniumInsertLeft" = "Meta+Shift+H,none,Polonium: Insert Left";
|
||||||
|
"kwin"."PoloniumInsertRight" = "Meta+Shift+L,none,Polonium: Insert Right";
|
||||||
|
"kwin"."PoloniumOpenSettings" = "Meta+\\\\,none,Polonium: Open Settings Dialog";
|
||||||
|
"kwin"."PoloniumResizeAbove" = "Meta+Ctrl+K,none,Polonium: Resize Above";
|
||||||
|
"kwin"."PoloniumResizeBelow" = "Meta+Ctrl+J,none,Polonium: Resize Below";
|
||||||
|
"kwin"."PoloniumResizeLeft" = "Meta+Ctrl+H,none,Polonium: Resize Left";
|
||||||
|
"kwin"."PoloniumResizeRight" = "Meta+Ctrl+L,none,Polonium: Resize Right";
|
||||||
|
"kwin"."PoloniumRetileWindow" = "Meta+Shift+Space,none,Polonium: Retile Window";
|
||||||
|
"kwin"."PoloniumSwitchBTree" = [ ];
|
||||||
|
"kwin"."PoloniumSwitchHalf" = [ ];
|
||||||
|
"kwin"."PoloniumSwitchKwin" = [ ];
|
||||||
|
"kwin"."PoloniumSwitchMonocle" = [ ];
|
||||||
|
"kwin"."PoloniumSwitchThreeColumn" = [ ];
|
||||||
|
"kwin"."Setup Window Shortcut" = "none,,Setup Window Shortcut";
|
||||||
|
"kwin"."Show Desktop" = "Meta+D";
|
||||||
|
"kwin"."Suspend Compositing" = "Alt+Shift+F12";
|
||||||
|
"kwin"."Switch One Desktop Down" = "Meta+Ctrl+Down";
|
||||||
|
"kwin"."Switch One Desktop Up" = "Meta+Ctrl+Up";
|
||||||
|
"kwin"."Switch One Desktop to the Left" = "Meta+Ctrl+Left";
|
||||||
|
"kwin"."Switch One Desktop to the Right" = "Meta+Ctrl+Right";
|
||||||
|
"kwin"."Switch Window Down" = "Meta+Alt+Down";
|
||||||
|
"kwin"."Switch Window Left" = "Meta+Alt+Left";
|
||||||
|
"kwin"."Switch Window Right" = "Meta+Alt+Right";
|
||||||
|
"kwin"."Switch Window Up" = "Meta+Alt+Up";
|
||||||
|
"kwin"."Switch to Desktop 1" = "Meta+1,Ctrl+F1,Switch to Desktop 1";
|
||||||
|
"kwin"."Switch to Desktop 10" = "none,,Switch to Desktop 10";
|
||||||
|
"kwin"."Switch to Desktop 11" = "none,,Switch to Desktop 11";
|
||||||
|
"kwin"."Switch to Desktop 12" = "none,,Switch to Desktop 12";
|
||||||
|
"kwin"."Switch to Desktop 13" = "none,,Switch to Desktop 13";
|
||||||
|
"kwin"."Switch to Desktop 14" = "none,,Switch to Desktop 14";
|
||||||
|
"kwin"."Switch to Desktop 15" = "none,,Switch to Desktop 15";
|
||||||
|
"kwin"."Switch to Desktop 16" = "none,,Switch to Desktop 16";
|
||||||
|
"kwin"."Switch to Desktop 17" = "none,,Switch to Desktop 17";
|
||||||
|
"kwin"."Switch to Desktop 18" = "none,,Switch to Desktop 18";
|
||||||
|
"kwin"."Switch to Desktop 19" = "none,,Switch to Desktop 19";
|
||||||
|
"kwin"."Switch to Desktop 2" = "Meta+2,Ctrl+F2,Switch to Desktop 2";
|
||||||
|
"kwin"."Switch to Desktop 20" = "none,,Switch to Desktop 20";
|
||||||
|
"kwin"."Switch to Desktop 3" = "Meta+3,Ctrl+F3,Switch to Desktop 3";
|
||||||
|
"kwin"."Switch to Desktop 4" = "Meta+4,Ctrl+F4,Switch to Desktop 4";
|
||||||
|
"kwin"."Switch to Desktop 5" = "Meta+5,,Switch to Desktop 5";
|
||||||
|
"kwin"."Switch to Desktop 6" = "none,,Switch to Desktop 6";
|
||||||
|
"kwin"."Switch to Desktop 7" = "none,,Switch to Desktop 7";
|
||||||
|
"kwin"."Switch to Desktop 8" = "none,,Switch to Desktop 8";
|
||||||
|
"kwin"."Switch to Desktop 9" = "none,,Switch to Desktop 9";
|
||||||
|
"kwin"."Switch to Next Desktop" = "none,,Switch to Next Desktop";
|
||||||
|
"kwin"."Switch to Next Screen" = "none,,Switch to Next Screen";
|
||||||
|
"kwin"."Switch to Previous Desktop" = "none,,Switch to Previous Desktop";
|
||||||
|
"kwin"."Switch to Previous Screen" = "none,,Switch to Previous Screen";
|
||||||
|
"kwin"."Switch to Screen 0" = "none,,Switch to Screen 0";
|
||||||
|
"kwin"."Switch to Screen 1" = "none,,Switch to Screen 1";
|
||||||
|
"kwin"."Switch to Screen 2" = "none,,Switch to Screen 2";
|
||||||
|
"kwin"."Switch to Screen 3" = "none,,Switch to Screen 3";
|
||||||
|
"kwin"."Switch to Screen 4" = "none,,Switch to Screen 4";
|
||||||
|
"kwin"."Switch to Screen 5" = "none,,Switch to Screen 5";
|
||||||
|
"kwin"."Switch to Screen 6" = "none,,Switch to Screen 6";
|
||||||
|
"kwin"."Switch to Screen 7" = "none,,Switch to Screen 7";
|
||||||
|
"kwin"."Switch to Screen Above" = "none,,Switch to Screen Above";
|
||||||
|
"kwin"."Switch to Screen Below" = "none,,Switch to Screen Below";
|
||||||
|
"kwin"."Switch to Screen to the Left" = "none,,Switch to Screen to the Left";
|
||||||
|
"kwin"."Switch to Screen to the Right" = "none,,Switch to Screen to the Right";
|
||||||
|
"kwin"."Toggle Night Color" = [ ];
|
||||||
|
"kwin"."Toggle Window Raise/Lower" = "none,,Toggle Window Raise/Lower";
|
||||||
|
"kwin"."Walk Through Windows" = "Alt+Tab";
|
||||||
|
"kwin"."Walk Through Windows (Reverse)" = "Alt+Shift+Tab";
|
||||||
|
"kwin"."Walk Through Windows Alternative" = "none,,Walk Through Windows Alternative";
|
||||||
|
"kwin"."Walk Through Windows Alternative (Reverse)" = "none,,Walk Through Windows Alternative (Reverse)";
|
||||||
|
"kwin"."Walk Through Windows of Current Application" = "Alt+`";
|
||||||
|
"kwin"."Walk Through Windows of Current Application (Reverse)" = "Alt+~";
|
||||||
|
"kwin"."Walk Through Windows of Current Application Alternative" = "none,,Walk Through Windows of Current Application Alternative";
|
||||||
|
"kwin"."Walk Through Windows of Current Application Alternative (Reverse)" = "none,,Walk Through Windows of Current Application Alternative (Reverse)";
|
||||||
|
"kwin"."Window Above Other Windows" = "none,,Keep Window Above Others";
|
||||||
|
"kwin"."Window Below Other Windows" = "none,,Keep Window Below Others";
|
||||||
|
"kwin"."Window Close" = "Alt+F4";
|
||||||
|
"kwin"."Window Fullscreen" = "none,,Make Window Fullscreen";
|
||||||
|
"kwin"."Window Grow Horizontal" = "none,,Expand Window Horizontally";
|
||||||
|
"kwin"."Window Grow Vertical" = "none,,Expand Window Vertically";
|
||||||
|
"kwin"."Window Lower" = "none,,Lower Window";
|
||||||
|
"kwin"."Window Maximize" = "Meta+PgUp";
|
||||||
|
"kwin"."Window Maximize Horizontal" = "none,,Maximize Window Horizontally";
|
||||||
|
"kwin"."Window Maximize Vertical" = "none,,Maximize Window Vertically";
|
||||||
|
"kwin"."Window Minimize" = "Meta+PgDown";
|
||||||
|
"kwin"."Window Move" = "none,,Move Window";
|
||||||
|
"kwin"."Window Move Center" = "none,,Move Window to the Center";
|
||||||
|
"kwin"."Window No Border" = "none,,Toggle Window Titlebar and Frame";
|
||||||
|
"kwin"."Window On All Desktops" = "none,,Keep Window on All Desktops";
|
||||||
|
"kwin"."Window One Desktop Down" = "Meta+Ctrl+Shift+Down";
|
||||||
|
"kwin"."Window One Desktop Up" = "Meta+Ctrl+Shift+Up";
|
||||||
|
"kwin"."Window One Desktop to the Left" = "Meta+Ctrl+Shift+Left";
|
||||||
|
"kwin"."Window One Desktop to the Right" = "Meta+Ctrl+Shift+Right";
|
||||||
|
"kwin"."Window One Screen Down" = "none,,Move Window One Screen Down";
|
||||||
|
"kwin"."Window One Screen Up" = "none,,Move Window One Screen Up";
|
||||||
|
"kwin"."Window One Screen to the Left" = "none,,Move Window One Screen to the Left";
|
||||||
|
"kwin"."Window One Screen to the Right" = "none,,Move Window One Screen to the Right";
|
||||||
|
"kwin"."Window Operations Menu" = "Alt+F3";
|
||||||
|
"kwin"."Window Pack Down" = "none,,Move Window Down";
|
||||||
|
"kwin"."Window Pack Left" = "none,,Move Window Left";
|
||||||
|
"kwin"."Window Pack Right" = "none,,Move Window Right";
|
||||||
|
"kwin"."Window Pack Up" = "none,,Move Window Up";
|
||||||
|
"kwin"."Window Quick Tile Bottom" = "Meta+Down";
|
||||||
|
"kwin"."Window Quick Tile Bottom Left" = "none,,Quick Tile Window to the Bottom Left";
|
||||||
|
"kwin"."Window Quick Tile Bottom Right" = "none,,Quick Tile Window to the Bottom Right";
|
||||||
|
"kwin"."Window Quick Tile Left" = "Meta+Left";
|
||||||
|
"kwin"."Window Quick Tile Right" = "Meta+Right";
|
||||||
|
"kwin"."Window Quick Tile Top" = "Meta+Up";
|
||||||
|
"kwin"."Window Quick Tile Top Left" = "none,,Quick Tile Window to the Top Left";
|
||||||
|
"kwin"."Window Quick Tile Top Right" = "none,,Quick Tile Window to the Top Right";
|
||||||
|
"kwin"."Window Raise" = "none,,Raise Window";
|
||||||
|
"kwin"."Window Resize" = "none,,Resize Window";
|
||||||
|
"kwin"."Window Shade" = "none,,Shade Window";
|
||||||
|
"kwin"."Window Shrink Horizontal" = "none,,Shrink Window Horizontally";
|
||||||
|
"kwin"."Window Shrink Vertical" = "none,,Shrink Window Vertically";
|
||||||
|
"kwin"."Window to Desktop 1" = "Meta+!,,Window to Desktop 1";
|
||||||
|
"kwin"."Window to Desktop 10" = "none,,Window to Desktop 10";
|
||||||
|
"kwin"."Window to Desktop 11" = "none,,Window to Desktop 11";
|
||||||
|
"kwin"."Window to Desktop 12" = "none,,Window to Desktop 12";
|
||||||
|
"kwin"."Window to Desktop 13" = "none,,Window to Desktop 13";
|
||||||
|
"kwin"."Window to Desktop 14" = "none,,Window to Desktop 14";
|
||||||
|
"kwin"."Window to Desktop 15" = "none,,Window to Desktop 15";
|
||||||
|
"kwin"."Window to Desktop 16" = "none,,Window to Desktop 16";
|
||||||
|
"kwin"."Window to Desktop 17" = "none,,Window to Desktop 17";
|
||||||
|
"kwin"."Window to Desktop 18" = "none,,Window to Desktop 18";
|
||||||
|
"kwin"."Window to Desktop 19" = "none,,Window to Desktop 19";
|
||||||
|
"kwin"."Window to Desktop 2" = "Meta+@,,Window to Desktop 2";
|
||||||
|
"kwin"."Window to Desktop 20" = "none,,Window to Desktop 20";
|
||||||
|
"kwin"."Window to Desktop 3" = "Meta+#,,Window to Desktop 3";
|
||||||
|
"kwin"."Window to Desktop 4" = "Meta+$,,Window to Desktop 4";
|
||||||
|
"kwin"."Window to Desktop 5" = "Meta+%,,Window to Desktop 5";
|
||||||
|
"kwin"."Window to Desktop 6" = "none,,Window to Desktop 6";
|
||||||
|
"kwin"."Window to Desktop 7" = "none,,Window to Desktop 7";
|
||||||
|
"kwin"."Window to Desktop 8" = "none,,Window to Desktop 8";
|
||||||
|
"kwin"."Window to Desktop 9" = "none,,Window to Desktop 9";
|
||||||
|
"kwin"."Window to Next Desktop" = "none,,Window to Next Desktop";
|
||||||
|
"kwin"."Window to Next Screen" = "Meta+Shift+Right";
|
||||||
|
"kwin"."Window to Previous Desktop" = "none,,Window to Previous Desktop";
|
||||||
|
"kwin"."Window to Previous Screen" = "Meta+Shift+Left";
|
||||||
|
"kwin"."Window to Screen 0" = "none,,Move Window to Screen 0";
|
||||||
|
"kwin"."Window to Screen 1" = "none,,Move Window to Screen 1";
|
||||||
|
"kwin"."Window to Screen 2" = "none,,Move Window to Screen 2";
|
||||||
|
"kwin"."Window to Screen 3" = "none,,Move Window to Screen 3";
|
||||||
|
"kwin"."Window to Screen 4" = "none,,Move Window to Screen 4";
|
||||||
|
"kwin"."Window to Screen 5" = "none,,Move Window to Screen 5";
|
||||||
|
"kwin"."Window to Screen 6" = "none,,Move Window to Screen 6";
|
||||||
|
"kwin"."Window to Screen 7" = "none,,Move Window to Screen 7";
|
||||||
|
"kwin"."view_actual_size" = "Meta+0";
|
||||||
|
"kwin"."view_zoom_in" = ["Meta++" "Meta+=,Meta++" "Meta+=,Zoom In"];
|
||||||
|
"kwin"."view_zoom_out" = "Meta+-";
|
||||||
|
"mediacontrol"."mediavolumedown" = "none,,Media volume down";
|
||||||
|
"mediacontrol"."mediavolumeup" = "none,,Media volume up";
|
||||||
|
"mediacontrol"."nextmedia" = "Media Next";
|
||||||
|
"mediacontrol"."pausemedia" = "Media Pause";
|
||||||
|
"mediacontrol"."playmedia" = "none,,Play media playback";
|
||||||
|
"mediacontrol"."playpausemedia" = "Media Play";
|
||||||
|
"mediacontrol"."previousmedia" = "Media Previous";
|
||||||
|
"mediacontrol"."stopmedia" = "Media Stop";
|
||||||
|
"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"];
|
||||||
|
"plasmashell"."activate task manager entry 1" = "none,Meta+1,Activate Task Manager Entry 1";
|
||||||
|
"plasmashell"."activate task manager entry 10" = "none,Meta+0,Activate Task Manager Entry 10";
|
||||||
|
"plasmashell"."activate task manager entry 2" = "none,Meta+2,Activate Task Manager Entry 2";
|
||||||
|
"plasmashell"."activate task manager entry 3" = "none,Meta+3,Activate Task Manager Entry 3";
|
||||||
|
"plasmashell"."activate task manager entry 4" = "none,Meta+4,Activate Task Manager Entry 4";
|
||||||
|
"plasmashell"."activate task manager entry 5" = "none,Meta+5,Activate Task Manager Entry 5";
|
||||||
|
"plasmashell"."activate task manager entry 6" = "Meta+6";
|
||||||
|
"plasmashell"."activate task manager entry 7" = "Meta+7";
|
||||||
|
"plasmashell"."activate task manager entry 8" = "Meta+8";
|
||||||
|
"plasmashell"."activate task manager entry 9" = "Meta+9";
|
||||||
|
"plasmashell"."clear-history" = "none,,Clear Clipboard History";
|
||||||
|
"plasmashell"."clipboard_action" = "Meta+Ctrl+X";
|
||||||
|
"plasmashell"."cycle-panels" = "Meta+Alt+P";
|
||||||
|
"plasmashell"."cycleNextAction" = "none,,Next History Item";
|
||||||
|
"plasmashell"."cyclePrevAction" = "none,,Previous History Item";
|
||||||
|
"plasmashell"."manage activities" = "Meta+Q";
|
||||||
|
"plasmashell"."next activity" = "Meta+A,none,Walk through activities";
|
||||||
|
"plasmashell"."previous activity" = "Meta+Shift+A,none,Walk through activities (Reverse)";
|
||||||
|
"plasmashell"."repeat_action" = "none,Meta+Ctrl+R,Manually Invoke Action on Current Clipboard";
|
||||||
|
"plasmashell"."show dashboard" = "Ctrl+F12";
|
||||||
|
"plasmashell"."show-barcode" = "none,,Show Barcode…";
|
||||||
|
"plasmashell"."show-on-mouse-pos" = "Meta+V";
|
||||||
|
"plasmashell"."stop current activity" = "Meta+S";
|
||||||
|
"plasmashell"."switch to next activity" = "none,,Switch to Next Activity";
|
||||||
|
"plasmashell"."switch to previous activity" = "none,,Switch to Previous Activity";
|
||||||
|
"plasmashell"."toggle do not disturb" = "none,,Toggle do not disturb";
|
||||||
|
};
|
||||||
|
configFile = {
|
||||||
|
"baloofilerc"."General"."dbVersion" = 2;
|
||||||
|
"baloofilerc"."General"."exclude filters" = "*~,*.part,*.o,*.la,*.lo,*.loT,*.moc,moc_*.cpp,qrc_*.cpp,ui_*.h,cmake_install.cmake,CMakeCache.txt,CTestTestfile.cmake,libtool,config.status,confdefs.h,autom4te,conftest,confstat,Makefile.am,*.gcode,.ninja_deps,.ninja_log,build.ninja,*.csproj,*.m4,*.rej,*.gmo,*.pc,*.omf,*.aux,*.tmp,*.po,*.vm*,*.nvram,*.rcore,*.swp,*.swap,lzo,litmain.sh,*.orig,.histfile.*,.xsession-errors*,*.map,*.so,*.a,*.db,*.qrc,*.ini,*.init,*.img,*.vdi,*.vbox*,vbox.log,*.qcow2,*.vmdk,*.vhd,*.vhdx,*.sql,*.sql.gz,*.ytdl,*.tfstate*,*.class,*.pyc,*.pyo,*.elc,*.qmlc,*.jsc,*.fastq,*.fq,*.gb,*.fasta,*.fna,*.gbff,*.faa,po,CVS,.svn,.git,_darcs,.bzr,.hg,CMakeFiles,CMakeTmp,CMakeTmpQmake,.moc,.obj,.pch,.uic,.npm,.yarn,.yarn-cache,__pycache__,node_modules,node_packages,nbproject,.terraform,.venv,venv,core-dumps,lost+found";
|
||||||
|
"baloofilerc"."General"."exclude filters version" = 9;
|
||||||
|
"dolphinrc"."KFileDialog Settings"."Places Icons Auto-resize" = false;
|
||||||
|
"dolphinrc"."KFileDialog Settings"."Places Icons Static Size" = 22;
|
||||||
|
"katerc"."General"."Days Meta Infos" = 30;
|
||||||
|
"katerc"."General"."Save Meta Infos" = true;
|
||||||
|
"katerc"."General"."Show Full Path in Title" = false;
|
||||||
|
"katerc"."General"."Show Menu Bar" = true;
|
||||||
|
"katerc"."General"."Show Status Bar" = true;
|
||||||
|
"katerc"."General"."Show Tab Bar" = true;
|
||||||
|
"katerc"."General"."Show Url Nav Bar" = true;
|
||||||
|
"katerc"."KTextEditor Renderer"."Animate Bracket Matching" = false;
|
||||||
|
"katerc"."KTextEditor Renderer"."Auto Color Theme Selection" = true;
|
||||||
|
"katerc"."KTextEditor Renderer"."Color Theme" = "Breeze Light";
|
||||||
|
"katerc"."KTextEditor Renderer"."Line Height Multiplier" = 1;
|
||||||
|
"katerc"."KTextEditor Renderer"."Show Indentation Lines" = false;
|
||||||
|
"katerc"."KTextEditor Renderer"."Show Whole Bracket Expression" = false;
|
||||||
|
"katerc"."KTextEditor Renderer"."Text Font" = "Hack,10,-1,7,400,0,0,0,0,0,0,0,0,0,0,1";
|
||||||
|
"katerc"."KTextEditor Renderer"."Word Wrap Marker" = false;
|
||||||
|
"katerc"."filetree"."editShade" = "183,220,246";
|
||||||
|
"katerc"."filetree"."listMode" = false;
|
||||||
|
"katerc"."filetree"."middleClickToClose" = false;
|
||||||
|
"katerc"."filetree"."shadingEnabled" = true;
|
||||||
|
"katerc"."filetree"."showCloseButton" = false;
|
||||||
|
"katerc"."filetree"."showFullPathOnRoots" = false;
|
||||||
|
"katerc"."filetree"."showToolbar" = true;
|
||||||
|
"katerc"."filetree"."sortRole" = 0;
|
||||||
|
"katerc"."filetree"."viewShade" = "211,190,222";
|
||||||
|
"kcminputrc"."Mouse"."X11LibInputXAccelProfileFlat" = true;
|
||||||
|
"kded5rc"."Module-browserintegrationreminder"."autoload" = false;
|
||||||
|
"kded5rc"."Module-device_automounter"."autoload" = false;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Allow Expansion" = false;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Automatically select filename extension" = true;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Breadcrumb Navigation" = true;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Decoration position" = 2;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."LocationCombo Completionmode" = 5;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."PathCombo Completionmode" = 5;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Show Bookmarks" = false;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Show Full Path" = false;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Show Inline Previews" = true;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Show Preview" = false;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Show Speedbar" = true;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Show hidden files" = false;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Sort by" = "Name";
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Sort directories first" = true;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Sort hidden files last" = false;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Sort reversed" = false;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."Speedbar Width" = 131;
|
||||||
|
"kdeglobals"."KFileDialog Settings"."View Style" = "DetailTree";
|
||||||
|
"kdeglobals"."WM"."activeBackground" = "227,229,231";
|
||||||
|
"kdeglobals"."WM"."activeBlend" = "227,229,231";
|
||||||
|
"kdeglobals"."WM"."activeForeground" = "35,38,41";
|
||||||
|
"kdeglobals"."WM"."inactiveBackground" = "239,240,241";
|
||||||
|
"kdeglobals"."WM"."inactiveBlend" = "239,240,241";
|
||||||
|
"kdeglobals"."WM"."inactiveForeground" = "112,125,138";
|
||||||
|
"kiorc"."Confirmations"."ConfirmDelete" = true;
|
||||||
|
"kscreenlockerrc"."Daemon"."LockOnResume" = false;
|
||||||
|
"kwalletrc"."Wallet"."First Use" = false;
|
||||||
|
"kwinrc"."Desktops"."Id_1" = "48e67529-9a58-4caa-bc27-a02ddf746389";
|
||||||
|
"kwinrc"."Desktops"."Id_2" = "da76cc12-2e22-4fb4-87aa-3c17d7be63b0";
|
||||||
|
"kwinrc"."Desktops"."Id_3" = "a6cb23ae-3d6a-4609-b593-d956f16f125c";
|
||||||
|
"kwinrc"."Desktops"."Id_4" = "6e61e508-b5f1-4053-a9d3-34b80a155a10";
|
||||||
|
"kwinrc"."Desktops"."Number" = 4;
|
||||||
|
"kwinrc"."Desktops"."Rows" = 1;
|
||||||
|
"kwinrc"."Plugins"."poloniumEnabled" = true;
|
||||||
|
"kwinrc"."Tiling"."padding" = 4;
|
||||||
|
"kwinrc"."Xwayland"."Scale" = 1.25;
|
||||||
|
"plasma-localerc"."Formats"."LANG" = "en_US.UTF-8";
|
||||||
|
"plasmarc"."Wallpapers"."usersWallpapers" = "";
|
||||||
|
"spectaclerc"."ImageSave"."translatedScreenshotsFolder" = "Screenshots";
|
||||||
|
"spectaclerc"."VideoSave"."translatedScreencastsFolder" = "Screencasts";
|
||||||
|
};
|
||||||
|
dataFile = {
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."cmaketoolsplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."compilerexplorer" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."eslintplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."externaltoolsplugin" = true;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."formatplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katebacktracebrowserplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katebuildplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katecloseexceptplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katecolorpickerplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katectagsplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katefilebrowserplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katefiletreeplugin" = true;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."kategdbplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."kategitblameplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katekonsoleplugin" = true;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."kateprojectplugin" = true;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katereplicodeplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katesearchplugin" = true;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katesnippetsplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katesymbolviewerplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katexmlcheckplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."katexmltoolsplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."keyboardmacrosplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."ktexteditorpreviewplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."latexcompletionplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."lspclientplugin" = true;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."openlinkplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."rainbowparens" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."rbqlplugin" = false;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."tabswitcherplugin" = true;
|
||||||
|
"kate/anonymous.katesession"."Kate Plugins"."textfilterplugin" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Active ViewSpace" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-H-Splitter" = "0,594,0";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-0-Bar-0-TvList" = "kate_private_plugin_katefiletreeplugin,kateproject,kateprojectgit,lspclient_symbol_outline";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-0-LastSize" = 200;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-0-SectSizes" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-0-Splitter" = 371;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-1-Bar-0-TvList" = "";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-1-LastSize" = 200;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-1-SectSizes" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-1-Splitter" = 371;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-2-Bar-0-TvList" = "";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-2-LastSize" = 200;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-2-SectSizes" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-2-Splitter" = 594;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-3-Bar-0-TvList" = "output,diagnostics,kate_plugin_katesearch,kateprojectinfo,kate_private_plugin_katekonsoleplugin";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-3-LastSize" = 200;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-3-SectSizes" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-3-Splitter" = 209;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-Style" = 2;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-Sidebar-Visible" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-diagnostics-Position" = 3;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-diagnostics-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-diagnostics-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_plugin_katesearch-Position" = 3;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_plugin_katesearch-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_plugin_katesearch-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katefiletreeplugin-Position" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katefiletreeplugin-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katefiletreeplugin-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katekonsoleplugin-Position" = 3;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katekonsoleplugin-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kate_private_plugin_katekonsoleplugin-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateproject-Position" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateproject-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateproject-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectgit-Position" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectgit-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectgit-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectinfo-Position" = 3;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectinfo-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-kateprojectinfo-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-lspclient_symbol_outline-Position" = 0;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-lspclient_symbol_outline-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-lspclient_symbol_outline-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-output-Position" = 3;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-output-Show-Button-In-Sidebar" = true;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-ToolView-output-Visible" = false;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."Kate-MDI-V-Splitter" = "0,369,0";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0"."ToolBarsMovable" = "Disabled";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0 Settings"."ToolBarsMovable" = "Disabled";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0 Settings"."WindowState" = 8;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0-Splitter 0"."Children" = "MainWindow0-ViewSpace 0";
|
||||||
|
"kate/anonymous.katesession"."MainWindow0-Splitter 0"."Orientation" = 1;
|
||||||
|
"kate/anonymous.katesession"."MainWindow0-Splitter 0"."Sizes" = 594;
|
||||||
|
"kate/anonymous.katesession"."Open Documents"."Count" = 1;
|
||||||
|
"kate/anonymous.katesession"."Open MainWindows"."Count" = 1;
|
||||||
|
"kate/anonymous.katesession"."Plugin:kateprojectplugin:"."projects" = "";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."BinaryFiles" = false;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."CurrentExcludeFilter" = "-1";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."CurrentFilter" = "-1";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."ExcludeFilters" = "";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."ExpandSearchResults" = false;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Filters" = "";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."FollowSymLink" = false;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."HiddenFiles" = false;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."MatchCase" = false;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Place" = 1;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Recursive" = true;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Replaces" = "";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."Search" = "";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeAllProjects" = true;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeCurrentFile" = true;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeFolder" = true;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeOpenFiles" = true;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchAsYouTypeProject" = true;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchDiskFiles" = "";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SearchDiskFiless" = "";
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."SizeLimit" = 128;
|
||||||
|
"kate/anonymous.katesession"."Plugin:katesearchplugin:MainWindow:0"."UseRegExp" = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,10 +0,0 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
|
||||||
|
|
||||||
{
|
|
||||||
xsession.windowManager.i3 = {
|
|
||||||
enable = true;
|
|
||||||
config = {
|
|
||||||
modifier = "Mod4";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
|
||||||
@@ -2,18 +2,26 @@
|
|||||||
# your system. Help is available in the configuration.nix(5) man page, 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`).
|
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||||
|
|
||||||
{ config, lib, pkgs, ... }:
|
{ lib, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../roles/common/default.nix
|
|
||||||
../../roles/nix/default.nix
|
|
||||||
(import ../../roles/kodi/default.nix { autologin = true; wayland = true; inherit lib; inherit pkgs; })
|
|
||||||
(import ../../roles/users/default.nix { extraGroups = []; })
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
roles = {
|
||||||
|
audio.enable = true;
|
||||||
|
kodi = {
|
||||||
|
enable = true;
|
||||||
|
autologin = true;
|
||||||
|
wayland = true;
|
||||||
|
};
|
||||||
|
users.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
@@ -22,6 +30,8 @@
|
|||||||
|
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics.enable = true;
|
||||||
|
|
||||||
|
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.
|
||||||
#
|
#
|
||||||
|
|||||||
@@ -10,9 +10,12 @@
|
|||||||
];
|
];
|
||||||
|
|
||||||
roles = {
|
roles = {
|
||||||
|
audio.enable = true;
|
||||||
|
bluetooth.enable = true;
|
||||||
desktop.enable = true;
|
desktop.enable = 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" ];
|
||||||
|
|||||||
@@ -2,23 +2,32 @@
|
|||||||
# your system. Help is available in the configuration.nix(5) man page
|
# your system. Help is available in the configuration.nix(5) man page
|
||||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||||
|
|
||||||
{ inputs, lib, pkgs, ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[ # Include the results of the hardware scan.
|
[ # Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
../../roles/common/default.nix
|
|
||||||
(import ../../roles/desktop/default.nix { x11Only = true; inherit inputs; inherit pkgs; })
|
|
||||||
../../roles/kids/default.nix
|
|
||||||
(import ../../roles/kodi/default.nix { autologin = false; wayland = false; inherit lib; inherit pkgs; })
|
|
||||||
../../roles/nfs-mounts/default.nix
|
|
||||||
../../roles/nix/default.nix
|
|
||||||
../../roles/printing/default.nix
|
|
||||||
(import ../../roles/users/default.nix { extraGroups = ["input" "libvirtd"]; })
|
|
||||||
../../roles/virtualisation/default.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
roles = {
|
||||||
|
audio.enable = true;
|
||||||
|
desktop = {
|
||||||
|
enable = true;
|
||||||
|
x11Only = true;
|
||||||
|
};
|
||||||
|
kodi.enable = true;
|
||||||
|
nfs-mounts.enable = true;
|
||||||
|
printing.enable = true;
|
||||||
|
spotifyd.enable = true;
|
||||||
|
users = {
|
||||||
|
enable = true;
|
||||||
|
extraGroups = [ "input" "libvirtd" ];
|
||||||
|
kids = true;
|
||||||
|
};
|
||||||
|
virtualisation.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
# Use the systemd-boot EFI boot loader.
|
# Use the systemd-boot EFI boot loader.
|
||||||
boot.loader.systemd-boot.enable = true;
|
boot.loader.systemd-boot.enable = true;
|
||||||
boot.loader.efi.canTouchEfiVariables = true;
|
boot.loader.efi.canTouchEfiVariables = true;
|
||||||
|
|||||||
@@ -15,11 +15,17 @@
|
|||||||
"nvidia_uvm"
|
"nvidia_uvm"
|
||||||
"nvidia_drm"
|
"nvidia_drm"
|
||||||
];
|
];
|
||||||
|
boot.kernelParams = [
|
||||||
|
"nvidia_drm.fbdev=1"
|
||||||
|
"nvidia_drm.modeset=1"
|
||||||
|
];
|
||||||
boot.kernelModules = [ "kvm-intel" ];
|
boot.kernelModules = [ "kvm-intel" ];
|
||||||
boot.extraModulePackages = [ ];
|
boot.extraModulePackages = [ ];
|
||||||
|
|
||||||
hardware.graphics.enable = true;
|
hardware.graphics.enable = true;
|
||||||
services.xserver.videoDrivers = ["nvidia"];
|
services.xserver.videoDrivers = ["nvidia"];
|
||||||
|
services.xserver.screenSection = ''Option "metamodes" "3440x1440_165 +0+0"'';
|
||||||
|
services.xserver.enableTearFree = true;
|
||||||
hardware.nvidia = {
|
hardware.nvidia = {
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
powerManagement.enable = false;
|
powerManagement.enable = false;
|
||||||
@@ -46,6 +52,14 @@
|
|||||||
|
|
||||||
swapDevices = [ ];
|
swapDevices = [ ];
|
||||||
|
|
||||||
|
services.beesd.filesystems = {
|
||||||
|
root = {
|
||||||
|
spec = "LABEL=nixos";
|
||||||
|
hashTableSizeMB = 4096;
|
||||||
|
verbosity = "crit";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
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;
|
||||||
}
|
}
|
||||||
|
|||||||
4
packages/default.nix
Normal file
4
packages/default.nix
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
nextcloudTalkDesktop = pkgs.callPackage ./nextcloud-talk-desktop {};
|
||||||
|
}
|
||||||
32
roles/audio/default.nix
Normal file
32
roles/audio/default.nix
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.roles.audio;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.roles.audio = {
|
||||||
|
enable = mkEnableOption "Enable the audio role";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable
|
||||||
|
{
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
paprefs
|
||||||
|
pavucontrol
|
||||||
|
pulsemixer
|
||||||
|
];
|
||||||
|
|
||||||
|
services.pipewire = {
|
||||||
|
enable = true;
|
||||||
|
pulse.enable = true;
|
||||||
|
};
|
||||||
|
hardware.pulseaudio.package = pkgs.pulseaudioFull;
|
||||||
|
hardware.pulseaudio.extraConfig = "
|
||||||
|
load-module module-combine-sink
|
||||||
|
load-module module-switch-on-connect
|
||||||
|
";
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
26
roles/bluetooth/default.nix
Normal file
26
roles/bluetooth/default.nix
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
{ lib, config, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.roles.bluetooth;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.roles.bluetooth = {
|
||||||
|
enable = mkEnableOption "Enable the bluetooth role";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable
|
||||||
|
{
|
||||||
|
hardware.bluetooth.enable = true;
|
||||||
|
hardware.bluetooth.powerOnBoot = true;
|
||||||
|
hardware.bluetooth.settings = {
|
||||||
|
General = {
|
||||||
|
Enable = "Source,Sink,Media,Socket";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
services.blueman.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -1,24 +1,21 @@
|
|||||||
{ config, lib, pkgs, ... }:
|
{ lib, pkgs, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.roles;
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
./audio
|
||||||
|
./bluetooth
|
||||||
./desktop
|
./desktop
|
||||||
./kodi
|
./kodi
|
||||||
./nfs-mounts
|
./nfs-mounts
|
||||||
./printing
|
./printing
|
||||||
|
./secrets
|
||||||
|
./spotifyd
|
||||||
./users
|
./users
|
||||||
./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 = {
|
||||||
@@ -37,11 +34,6 @@ in
|
|||||||
# Enable the OpenSSH daemon.
|
# Enable the OpenSSH daemon.
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
|
|
||||||
services.pipewire = {
|
|
||||||
enable = true;
|
|
||||||
pulse.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.
|
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||||
git
|
git
|
||||||
@@ -66,9 +58,6 @@ in
|
|||||||
substituters = [
|
substituters = [
|
||||||
"https://hyprland.cachix.org"
|
"https://hyprland.cachix.org"
|
||||||
];
|
];
|
||||||
trusted-public-keys = [
|
|
||||||
"hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc="
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -4,6 +4,31 @@ with lib;
|
|||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.roles.desktop;
|
cfg = config.roles.desktop;
|
||||||
|
|
||||||
|
basePackages = with pkgs; [
|
||||||
|
brightnessctl
|
||||||
|
mangohud # Should probably get refactored with steam/gamescope out to a gaming role
|
||||||
|
polonium # auto tiling kwin addon
|
||||||
|
];
|
||||||
|
|
||||||
|
x11BasePackages = with pkgs; [
|
||||||
|
|
||||||
|
];
|
||||||
|
|
||||||
|
x11OnlyPackages = with pkgs; [
|
||||||
|
emacs
|
||||||
|
];
|
||||||
|
|
||||||
|
waylandBasePackages = with pkgs; [
|
||||||
|
grim
|
||||||
|
slurp
|
||||||
|
wl-clipboard
|
||||||
|
mako
|
||||||
|
];
|
||||||
|
|
||||||
|
waylandOnlyPackages = with pkgs; [
|
||||||
|
emacs-gtk
|
||||||
|
];
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.roles.desktop = {
|
options.roles.desktop = {
|
||||||
@@ -14,7 +39,7 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config =
|
config = mkIf cfg.enable
|
||||||
{
|
{
|
||||||
services.xserver.xkb = {
|
services.xserver.xkb = {
|
||||||
layout = "us";
|
layout = "us";
|
||||||
@@ -22,8 +47,10 @@ in
|
|||||||
options = "caps:escape";
|
options = "caps:escape";
|
||||||
};
|
};
|
||||||
services.xserver.enable = true;
|
services.xserver.enable = true;
|
||||||
services.xserver.displayManager = {
|
|
||||||
lightdm.enable = true;
|
services.displayManager.sddm = {
|
||||||
|
enable = true;
|
||||||
|
wayland.enable = !cfg.x11Only;
|
||||||
};
|
};
|
||||||
services.desktopManager.plasma6.enable = true;
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
|
||||||
@@ -38,12 +65,6 @@ in
|
|||||||
programs.dconf.enable = true;
|
programs.dconf.enable = true;
|
||||||
services.gnome.gnome-keyring.enable = true;
|
services.gnome.gnome-keyring.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; mkIf (!cfg.x11Only) [
|
|
||||||
grim
|
|
||||||
slurp
|
|
||||||
wl-clipboard
|
|
||||||
mako
|
|
||||||
];
|
|
||||||
programs.sway = mkIf (!cfg.x11Only) {
|
programs.sway = mkIf (!cfg.x11Only) {
|
||||||
enable = true;
|
enable = true;
|
||||||
wrapperFeatures.gtk = true;
|
wrapperFeatures.gtk = true;
|
||||||
@@ -52,10 +73,38 @@ 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;
|
||||||
|
};
|
||||||
#package = pkgs.steam.override {
|
#package = pkgs.steam.override {
|
||||||
#withJava = true;
|
#withJava = true;
|
||||||
#withPrimus = true;
|
#withPrimus = true;
|
||||||
@@ -71,6 +120,15 @@ in
|
|||||||
|
|
||||||
virtualisation.docker.enable = true;
|
virtualisation.docker.enable = true;
|
||||||
users.extraGroups.docker.members = [ "johno" ];
|
users.extraGroups.docker.members = [ "johno" ];
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs; mkMerge [
|
||||||
|
basePackages
|
||||||
|
x11BasePackages
|
||||||
|
(mkIf cfg.x11Only x11OnlyPackages)
|
||||||
|
# TODO: Do we need a "wayland only" mode?
|
||||||
|
(mkIf (!cfg.x11Only) waylandBasePackages)
|
||||||
|
(mkIf (!cfg.x11Only) waylandOnlyPackages)
|
||||||
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -25,38 +25,47 @@ in
|
|||||||
steam-library
|
steam-library
|
||||||
youtube
|
youtube
|
||||||
]);
|
]);
|
||||||
in {
|
in mkIf cfg.enable
|
||||||
users.extraUsers.kodi.isNormalUser = true;
|
{
|
||||||
|
users.extraUsers.kodi.isNormalUser = true;
|
||||||
|
|
||||||
networking.firewall = {
|
networking.firewall = {
|
||||||
allowedTCPPorts = [ 8080 ];
|
allowedTCPPorts = [ 8080 ];
|
||||||
allowedUDPPorts = [ 8080 ];
|
allowedUDPPorts = [ 8080 ];
|
||||||
|
};
|
||||||
|
|
||||||
|
services = if cfg.autologin then mkMerge [
|
||||||
|
(mkIf cfg.wayland {
|
||||||
|
cage = mkIf cfg.wayland {
|
||||||
|
user = "kodi";
|
||||||
|
program = "${kodiPkg}/bin/kodi-standalone";
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
xserver = {
|
||||||
|
enable = false;
|
||||||
|
autorun = false;
|
||||||
|
};
|
||||||
|
})
|
||||||
|
|
||||||
|
(mkIf (!cfg.wayland) {
|
||||||
|
xserver = {
|
||||||
|
enable = true;
|
||||||
|
desktopManager.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 {};
|
||||||
};
|
};
|
||||||
|
|
||||||
services = mkIf cfg.autologin {
|
|
||||||
cage = mkIf cfg.wayland {
|
|
||||||
user = "kodi";
|
|
||||||
program = "${kodiPkg}/bin/kodi-standalone";
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
xserver = mkIf (!cfg.wayland) {
|
|
||||||
enable = true;
|
|
||||||
desktopManager.kodi = {
|
|
||||||
enable = true;
|
|
||||||
package = kodiPkg;
|
|
||||||
};
|
|
||||||
displayManager.lightdm = {
|
|
||||||
enable = true;
|
|
||||||
greeter.enable = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
displayManager = mkIf (!cfg.wayland) {
|
|
||||||
autoLogin.enable = true;
|
|
||||||
autoLogin.user = "kodi";
|
|
||||||
defaultSession = "kodi";
|
|
||||||
sessionData.autologinSession = "kodi";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,15 +16,16 @@ in
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = mkIf cfg.enable
|
||||||
fileSystems."/media" = {
|
{
|
||||||
device = "10.0.0.43:/media";
|
fileSystems."/media" = {
|
||||||
fsType = "nfs";
|
device = "10.0.0.43:/media";
|
||||||
options = [
|
fsType = "nfs";
|
||||||
"defaults"
|
options = [
|
||||||
"nofail"
|
"defaults"
|
||||||
"softreval"
|
"nofail"
|
||||||
];
|
"softreval"
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,22 @@
|
|||||||
|
|
||||||
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 = {
|
config = mkIf cfg.enable
|
||||||
services.printing.enable = true;
|
{
|
||||||
|
services.printing.enable = true;
|
||||||
|
|
||||||
# TODO: Add actual printer setup config here...
|
services.avahi = {
|
||||||
};
|
enable = true;
|
||||||
|
nssmdns4 = true;
|
||||||
|
openFirewall = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
8
roles/secrets/default.nix
Normal file
8
roles/secrets/default.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{ config, lib, pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
sops.defaultSopsFile = ../../secrets/secrets.yaml;
|
||||||
|
sops.defaultSopsFormat = "yaml";
|
||||||
|
sops.age.sshKeyPaths = [ "/etc/ssh/ssh_host_ed25519_key" "/home/johno/.ssh/id_ed25519" ];
|
||||||
|
sops.secrets.example_key = {};
|
||||||
|
}
|
||||||
40
roles/spotifyd/default.nix
Normal file
40
roles/spotifyd/default.nix
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
cfg = config.roles.spotifyd;
|
||||||
|
in
|
||||||
|
{
|
||||||
|
options.roles.spotifyd = {
|
||||||
|
enable = mkEnableOption "Enable the spotifyd role";
|
||||||
|
};
|
||||||
|
|
||||||
|
config = mkIf cfg.enable
|
||||||
|
{
|
||||||
|
roles.audio.enable = true;
|
||||||
|
|
||||||
|
services.spotifyd = {
|
||||||
|
enable = true;
|
||||||
|
settings = {
|
||||||
|
global = {
|
||||||
|
use_mpris = false;
|
||||||
|
backend = "alsa";
|
||||||
|
device = "sysdefault";
|
||||||
|
bitrate = 320;
|
||||||
|
cache_path = "";
|
||||||
|
zeroconf_port = 1234;
|
||||||
|
autoplay = false;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
networking.firewall.allowedTCPPorts = [
|
||||||
|
1234
|
||||||
|
57621
|
||||||
|
];
|
||||||
|
networking.firewall.allowedUDPPorts = [
|
||||||
|
5353
|
||||||
|
];
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -21,7 +21,7 @@ in
|
|||||||
kidsPackages = with pkgs; [
|
kidsPackages = with pkgs; [
|
||||||
firefox
|
firefox
|
||||||
];
|
];
|
||||||
in {
|
in mkIf cfg.enable {
|
||||||
users.users.johno = {
|
users.users.johno = {
|
||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "John Ogle";
|
description = "John Ogle";
|
||||||
|
|||||||
@@ -2,13 +2,17 @@
|
|||||||
|
|
||||||
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 = {
|
config = mkIf cfg.enable
|
||||||
virtualisation.libvirtd.enable = true;
|
{
|
||||||
programs.virt-manager.enable = true;
|
virtualisation.libvirtd.enable = true;
|
||||||
};
|
programs.virt-manager.enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
48
secrets/secrets.yaml
Normal file
48
secrets/secrets.yaml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
hello: ENC[AES256_GCM,data:5ZpbPx3D8gQc1fOhViUqiCr0zLWYotB+vIBixqTbqP9XLS52y6tr5DXus0aV9mTgka5deqc=,iv:yPJaCqDD9WD56swfBjSm7A62ZTTIQDqyAKOgP1ese+U=,tag:bo8+7Ne2f9aEZSvpkt1fzA==,type:str]
|
||||||
|
example_key: ENC[AES256_GCM,data:v15bEcb0H3vaj13blg==,iv:9P3IA7ChBamo41VE8G8tj46sZqeijsO1LcvwLtEPVPA=,tag:o/lAyAYYGNLP9EjQNa/K8Q==,type:str]
|
||||||
|
example_array:
|
||||||
|
- ENC[AES256_GCM,data:3Vwa7dfNfKzRc/xpk6I=,iv:IevBgxwWdaBvZY1ywteWcfWwDIA8lK3FTWs67lLBKxw=,tag:Mx5lzUeNZ/3wJBWAl5XSBw==,type:str]
|
||||||
|
- ENC[AES256_GCM,data:epkT6WPGW5Oe/S+4HtU=,iv:N0yoDuieAaEi+NuCoCL4zrkhaDDdkttboI89m+UccjQ=,tag:OoERRByb0OM4un9oGLJQgA==,type:str]
|
||||||
|
#ENC[AES256_GCM,data:YzMFXxn3sbbHpGB4jPRtRw==,iv:TN6ogQuH7c6xtDoWt0Ew9B2f7wuaipJynvscZmaJYoU=,tag:No0UwEktEyMNBg/46P+Zmg==,type:comment]
|
||||||
|
example_number: ENC[AES256_GCM,data:jmLoVC+8YIlB2A==,iv:u9GztD/aE9UN5zWq3Am2nhYwmYt3sf8sy65MHbhVoD0=,tag:wKuf1mMr5XBJveJrz0uHPA==,type:float]
|
||||||
|
example_booleans:
|
||||||
|
- 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]
|
||||||
|
sops:
|
||||||
|
kms: []
|
||||||
|
gcp_kms: []
|
||||||
|
azure_kv: []
|
||||||
|
hc_vault: []
|
||||||
|
age:
|
||||||
|
- recipient: age1ls6a033d4p4u8h4rwazjwt8w4c4xg73wq0mdnm64jajxzcz4k9asvjnks3
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBjak9vRVJtVmJoanhEZ0hQ
|
||||||
|
MFJwMEE4UDcrRkdPRmZ6R09FSDY1aTk3Y1dNClZJYXRLNU5senR3Qzh6VmZGMlhu
|
||||||
|
bnl6VjlaUEFISnBtSTVrcEd0ZjI5Q2MKLS0tIFl1b3A5ZWVqc1gvWVZnZis0ZHFk
|
||||||
|
bWhnNVB2TUJ4YzY4NHdSVXhPc3dReTgKWRYBbBE3+oGsRNw1CROhFY+btENbShfv
|
||||||
|
gw3IdW7OoZV6JpJBOcI82eOuOkIxrmgSGDGeyy10/a5MA/cB1umm+w==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age12l5u7sw59u5pkwp83qm8t3ff7uv0ld2c9k3zh5j4ame9k2szcynqu7ftqe
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBGcmV3TDlNL2Zxb0h5QTYx
|
||||||
|
QkVmczA0MDc2ZnpNNU1YeFVzSXJwc3RWUmk4CjF4bHIrVU9VM3htTUxGZ2FUR256
|
||||||
|
UEovdVV2cmNIbkloS1VobTNFSDVyRG8KLS0tIEFhUk5kL3hCNGs4MGJBTmNJaVFm
|
||||||
|
b2ZBUGJ1K0lKTitKYTRUMWszQzhBU0UKBaM6t6JmWfiG+wPorGea1gqvV5RSIPyw
|
||||||
|
6yb2PcH2oZ0HrjJM5sjfu7XOWY3KneiZZikR1BpD5KvevfagWTSR/w==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
- recipient: age1fa3zqavfmqk4ssa22yne9td90gyqv9q5a8y0s8jp3xak8q7p3yjqyn7rkg
|
||||||
|
enc: |
|
||||||
|
-----BEGIN AGE ENCRYPTED FILE-----
|
||||||
|
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBaMFJiNjVOb0lTcmJ3VnhH
|
||||||
|
WlRKZERRZFM3TFZBZGNSZC9GdHlHakMza21zClJ3SDdFUkVRc3oyVVU3WEtDQzBu
|
||||||
|
OEFqS3NwbHZFUlpCYlN6RW84N0F1amcKLS0tIHFZK21aTHdwZ2dWbVRrWEZDWFZj
|
||||||
|
aU1IQzdTMVhnbHhsNENwMG05dXhOU2MK8fEJea9sL5JLgltVlTI6mRDb+Tl83Iz7
|
||||||
|
4wPYvo68cn8vimXqSk45ldHRrNa3zhYai3CalQaGtDT3fkWGvSq0zQ==
|
||||||
|
-----END AGE ENCRYPTED FILE-----
|
||||||
|
lastmodified: "2024-09-28T15:44:39Z"
|
||||||
|
mac: ENC[AES256_GCM,data:YUi+AbS6DQTmrSyOXsbkZWfWaMyKGR8fYm/MHcxmqChi8hng+UWHBZjsLBe6ef/FLH3rnP6bhfwK8KYnVS6fHvHahoqIq/BHydTsqrclnSgRAGl8Lh0yuhwISNRvP1AuW5pd50sdQaS0uGOtzOCharI/pZ9H+cmt2SB5WOCdeLs=,iv:2nBG6it3tNSLSia8hGzCcesuK9QwzB9EzfjWegjQ2kw=,tag:RGGPAPw/rQKhWA2OqLjTJw==,type:str]
|
||||||
|
pgp: []
|
||||||
|
unencrypted_suffix: _unencrypted
|
||||||
|
version: 3.9.0
|
||||||
Reference in New Issue
Block a user