massive structural changes
This commit is contained in:
parent
3fd51428c3
commit
0133a53f41
10 changed files with 532 additions and 561 deletions
207
flake.nix
207
flake.nix
|
|
@ -104,14 +104,64 @@
|
||||||
modules =
|
modules =
|
||||||
[
|
[
|
||||||
{
|
{
|
||||||
nixpkgs.config = pkgConfig;
|
nixpkgs = {
|
||||||
nixpkgs.overlays = [
|
config = pkgConfig;
|
||||||
catppuccin-palette.overlays.default
|
overlays = [
|
||||||
niri.overlays.niri
|
catppuccin-palette.overlays.default
|
||||||
noctalia.overlays.default
|
niri.overlays.niri
|
||||||
nur.overlays.default
|
noctalia.overlays.default
|
||||||
(import ./packages/overlay.nix)
|
nur.overlays.default
|
||||||
];
|
(import ./packages/overlay.nix)
|
||||||
|
];
|
||||||
|
};
|
||||||
|
nix = {
|
||||||
|
settings = {
|
||||||
|
experimental-features = [
|
||||||
|
"nix-command"
|
||||||
|
"flakes"
|
||||||
|
];
|
||||||
|
|
||||||
|
substituters = [
|
||||||
|
"https://attic.xuyh0120.win/lantian"
|
||||||
|
"https://cache.garnix.io"
|
||||||
|
];
|
||||||
|
|
||||||
|
trusted-public-keys = [
|
||||||
|
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
||||||
|
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
||||||
|
];
|
||||||
|
|
||||||
|
trusted-users = [
|
||||||
|
"root"
|
||||||
|
"sckova"
|
||||||
|
];
|
||||||
|
|
||||||
|
# Increase file descriptor limit for builds
|
||||||
|
sandbox = "relaxed";
|
||||||
|
extra-sandbox-paths = [];
|
||||||
|
build-users-group = "nixbld";
|
||||||
|
};
|
||||||
|
|
||||||
|
gc = {
|
||||||
|
automatic = true;
|
||||||
|
dates = "weekly";
|
||||||
|
options = "--delete-older-than 30d";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
users.users.sckova = {
|
||||||
|
isNormalUser = true;
|
||||||
|
description = "Sean Kovacs";
|
||||||
|
extraGroups = [
|
||||||
|
"wheel"
|
||||||
|
"networkmanager"
|
||||||
|
"podman"
|
||||||
|
];
|
||||||
|
hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0";
|
||||||
|
openssh.authorizedKeys.keys = [
|
||||||
|
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCn/eXMq04vcXNqGVzlZOw2C2dQYBqzWsoigdFW09XqC2WPaGljbAIayzaD7Q1tIlPGGy10+nipAXAk1CHAnrQ2KSg4v/SwFphF48V3joeQmideC4vo0EIQEQibbMtj3oFezqRcRZINl/1hr4t0myZ3zkoTjh3HCkqJEMGUdArDMEVPA5mwcKSLsyshW9LMG/3C9YKKPU1/lVsoeDkj8AVZA0srhkApuRKF0IVu8KoPd6ldvSWgpQ1iuQ+MEMSeOUJytieBkzeY9zEVePaQ86oIMDUzqq8OTN37RyShiJKPskKyj12rJI2eFtI/viGaj8P6/yvKqMp3F4kAsPAuvMLLAIYCNa+139rDpkkIKB6lVtgq0jnJGRywaYXGIRyExNcVAr8I9wrNnNN2M4whVeYBxfLMzKZ+VvfK39AaGvnzPuFDLqUC87sN4c/1KZQo+TCtlaxcYvqowWylw5JHUt8uwFcO/dUebQxxAv8EdyPZGJ/54y19PsTbu9KyxSc2gIU= sckova"
|
||||||
|
];
|
||||||
|
};
|
||||||
}
|
}
|
||||||
./system
|
./system
|
||||||
./system/widevine
|
./system/widevine
|
||||||
|
|
@ -120,44 +170,47 @@
|
||||||
./system/hosts/${hostname}
|
./system/hosts/${hostname}
|
||||||
./hardware/${hostname}
|
./hardware/${hostname}
|
||||||
catppuccin.nixosModules.catppuccin
|
catppuccin.nixosModules.catppuccin
|
||||||
|
niri.nixosModules.niri
|
||||||
home-manager.nixosModules.home-manager
|
home-manager.nixosModules.home-manager
|
||||||
noctalia.nixosModules.default
|
noctalia.nixosModules.default
|
||||||
{
|
{
|
||||||
home-manager.useGlobalPkgs = true;
|
home-manager = {
|
||||||
home-manager.useUserPackages = true;
|
useGlobalPkgs = true;
|
||||||
home-manager.users.sckova = {
|
useUserPackages = true;
|
||||||
imports = [
|
users.sckova = {
|
||||||
./home
|
imports = [
|
||||||
./home/games/minecraft
|
./home
|
||||||
./home/games/morrowind
|
./home/games/minecraft
|
||||||
./home/graphical/discord
|
./home/games/morrowind
|
||||||
./home/graphical/firefox
|
./home/graphical/discord
|
||||||
./home/graphical/mpv
|
./home/graphical/firefox
|
||||||
./home/tiling/niri
|
./home/graphical/mpv
|
||||||
./home/tiling/wallpaper
|
./home/tiling/niri
|
||||||
./home/systemd
|
./home/tiling/wallpaper
|
||||||
./home/terminal/btop
|
./home/systemd
|
||||||
./home/terminal/fish
|
./home/terminal/btop
|
||||||
./home/terminal/kitty
|
./home/terminal/fish
|
||||||
./home/terminal/nvim
|
./home/terminal/kitty
|
||||||
./home/kde
|
./home/terminal/nvim
|
||||||
./home/theming
|
./home/kde
|
||||||
./home/vscode
|
./home/theming
|
||||||
./home/hosts/${hostname}
|
./home/vscode
|
||||||
|
./home/hosts/${hostname}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
sharedModules = [
|
||||||
|
catppuccin.homeModules.catppuccin
|
||||||
|
plasma-manager.homeModules.plasma-manager
|
||||||
|
noctalia.homeModules.default
|
||||||
|
spicetify-nix.homeManagerModules.default
|
||||||
|
nixvim.homeModules.nixvim
|
||||||
];
|
];
|
||||||
};
|
extraSpecialArgs = {
|
||||||
home-manager.sharedModules = [
|
inherit spicetify-nix;
|
||||||
plasma-manager.homeModules.plasma-manager
|
pkgs-unstable = import nixpkgs-unstable {
|
||||||
niri.homeModules.niri
|
inherit system;
|
||||||
noctalia.homeModules.default
|
config = pkgConfig;
|
||||||
spicetify-nix.homeManagerModules.default
|
};
|
||||||
nixvim.homeModules.nixvim
|
|
||||||
];
|
|
||||||
home-manager.extraSpecialArgs = {
|
|
||||||
inherit spicetify-nix;
|
|
||||||
pkgs-unstable = import nixpkgs-unstable {
|
|
||||||
inherit system;
|
|
||||||
config = pkgConfig;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -175,6 +228,10 @@
|
||||||
inherit system;
|
inherit system;
|
||||||
config = pkgConfig;
|
config = pkgConfig;
|
||||||
};
|
};
|
||||||
|
pkgs-unstable = import nixpkgs-unstable {
|
||||||
|
inherit system;
|
||||||
|
config = pkgConfig;
|
||||||
|
};
|
||||||
home.username = user;
|
home.username = user;
|
||||||
home.homeDirectory = "/home/${user}";
|
home.homeDirectory = "/home/${user}";
|
||||||
modules = [
|
modules = [
|
||||||
|
|
@ -187,33 +244,25 @@
|
||||||
noctalia.homeModules.noctalia
|
noctalia.homeModules.noctalia
|
||||||
nixvim.homeModules.nixvim
|
nixvim.homeModules.nixvim
|
||||||
];
|
];
|
||||||
extraSpecialArgs = {
|
|
||||||
pkgs-unstable = import nixpkgs-unstable {
|
|
||||||
inherit system;
|
|
||||||
config = pkgConfig;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
in
|
in {
|
||||||
{
|
nixosConfigurations = {
|
||||||
nixosConfigurations =
|
peach = mkNixosSystem {
|
||||||
{
|
hostname = "peach";
|
||||||
peach = mkNixosSystem {
|
system = "aarch64-linux";
|
||||||
hostname = "peach";
|
extraModules = [
|
||||||
system = "aarch64-linux";
|
apple-silicon.nixosModules.default
|
||||||
extraModules = [
|
{nixpkgs.overlays = [apple-silicon.overlays.apple-silicon-overlay];}
|
||||||
apple-silicon.nixosModules.default
|
];
|
||||||
{nixpkgs.overlays = [apple-silicon.overlays.apple-silicon-overlay];}
|
};
|
||||||
];
|
|
||||||
};
|
|
||||||
|
|
||||||
alien = mkNixosSystem {
|
alien =
|
||||||
hostname = "alien";
|
mkNixosSystem {
|
||||||
system = "x86_64-linux";
|
hostname = "alien";
|
||||||
extraSpecialArgs = {
|
system = "x86_64-linux";
|
||||||
inherit nix-cachyos-kernel;
|
extraModules = [
|
||||||
};
|
{nixpkgs.overlays = [nix-cachyos-kernel.overlays.default];}
|
||||||
};
|
];
|
||||||
}
|
}
|
||||||
// nixpkgs.lib.genAttrs supportedSystems (
|
// nixpkgs.lib.genAttrs supportedSystems (
|
||||||
system:
|
system:
|
||||||
|
|
@ -222,8 +271,10 @@
|
||||||
inherit system;
|
inherit system;
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
};
|
||||||
|
|
||||||
homeConfigurations = {
|
homeConfigurations =
|
||||||
|
{
|
||||||
peach = mkHomeConfig {
|
peach = mkHomeConfig {
|
||||||
user = "sckova";
|
user = "sckova";
|
||||||
hostname = "peach";
|
hostname = "peach";
|
||||||
|
|
@ -234,14 +285,14 @@
|
||||||
hostname = "alien";
|
hostname = "alien";
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
};
|
};
|
||||||
};
|
}
|
||||||
}
|
// nixpkgs.lib.genAttrs supportedSystems (
|
||||||
// nixpkgs.lib.genAttrs supportedSystems (
|
system:
|
||||||
system:
|
mkHomeConfig {
|
||||||
mkHomeConfig {
|
user = "sckova";
|
||||||
user = "sckova";
|
hostname = "vm-generic";
|
||||||
hostname = "vm-generic";
|
inherit system;
|
||||||
inherit system;
|
}
|
||||||
}
|
);
|
||||||
);
|
};
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
pkgs.adwsteamgtk
|
pkgs.adwsteamgtk
|
||||||
|
|
||||||
pkgs-unstable.ckan
|
pkgs-unstable.ckan
|
||||||
|
pkgs.daggerfall-unity
|
||||||
];
|
];
|
||||||
|
|
||||||
programs.noctalia-shell.settings.brightness = {
|
programs.noctalia-shell.settings.brightness = {
|
||||||
|
|
|
||||||
|
|
@ -3,408 +3,411 @@
|
||||||
pkgs,
|
pkgs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
programs.niri.package = pkgs.niri-unstable.overrideAttrs (old: {
|
|
||||||
doCheck = false;
|
|
||||||
});
|
|
||||||
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
|
# https://github.com/sodiboo/niri-flake/blob/main/docs.md
|
||||||
programs.niri.settings = {
|
programs.niri = {
|
||||||
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
package = pkgs.niri-unstable.overrideAttrs (old: {
|
||||||
hotkey-overlay.skip-at-startup = true;
|
doCheck = false;
|
||||||
prefer-no-csd = true;
|
});
|
||||||
gestures.hot-corners.enable = false;
|
|
||||||
spawn-at-startup = []; # systemd is based sorry
|
settings = {
|
||||||
overview = {
|
screenshot-path = "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png";
|
||||||
backdrop-color = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
|
hotkey-overlay.skip-at-startup = true;
|
||||||
workspace-shadow.enable = false;
|
prefer-no-csd = true;
|
||||||
};
|
gestures.hot-corners.enable = false;
|
||||||
input = {
|
spawn-at-startup = []; # systemd is based sorry
|
||||||
focus-follows-mouse = {
|
overview = {
|
||||||
enable = true;
|
backdrop-color = pkgs.catppuccin.${config.catppuccin.flavor}.crust;
|
||||||
max-scroll-amount = "0%";
|
workspace-shadow.enable = false;
|
||||||
};
|
};
|
||||||
keyboard = {
|
input = {
|
||||||
numlock = false;
|
focus-follows-mouse = {
|
||||||
repeat-delay = 600;
|
enable = true;
|
||||||
repeat-rate = 25;
|
max-scroll-amount = "0%";
|
||||||
|
};
|
||||||
|
keyboard = {
|
||||||
|
numlock = false;
|
||||||
|
repeat-delay = 600;
|
||||||
|
repeat-rate = 25;
|
||||||
|
};
|
||||||
|
mouse = {
|
||||||
|
enable = true;
|
||||||
|
accel-profile = "adaptive";
|
||||||
|
natural-scroll = false;
|
||||||
|
};
|
||||||
|
touchpad = {
|
||||||
|
enable = true;
|
||||||
|
accel-profile = "adaptive";
|
||||||
|
natural-scroll = true;
|
||||||
|
tap = false;
|
||||||
|
drag = false;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
mouse = {
|
environment = {
|
||||||
enable = true;
|
QT_QPA_PLATFORM = "wayland";
|
||||||
accel-profile = "adaptive";
|
QT_QPA_PLATFORMTHEME = "qt6ct";
|
||||||
natural-scroll = false;
|
DISPLAY = null;
|
||||||
|
XCURSOR_THEME = config.userOptions.cursor.name;
|
||||||
|
XCURSOR_SIZE = toString config.userOptions.cursor.size;
|
||||||
};
|
};
|
||||||
touchpad = {
|
outputs = {
|
||||||
enable = true;
|
"eDP-1" = {
|
||||||
accel-profile = "adaptive";
|
scale = 1.75;
|
||||||
natural-scroll = true;
|
};
|
||||||
tap = false;
|
"HDMI-A-1" = {
|
||||||
drag = false;
|
scale = 2;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
cursor = {
|
||||||
environment = {
|
hide-when-typing = true;
|
||||||
QT_QPA_PLATFORM = "wayland";
|
hide-after-inactive-ms = 5000;
|
||||||
QT_QPA_PLATFORMTHEME = "qt6ct";
|
size = config.userOptions.cursor.size;
|
||||||
DISPLAY = null;
|
theme = config.userOptions.cursor.name;
|
||||||
XCURSOR_THEME = config.userOptions.cursor.name;
|
|
||||||
XCURSOR_SIZE = toString config.userOptions.cursor.size;
|
|
||||||
};
|
|
||||||
outputs = {
|
|
||||||
"eDP-1" = {
|
|
||||||
scale = 1.75;
|
|
||||||
};
|
};
|
||||||
"HDMI-A-1" = {
|
layout = {
|
||||||
scale = 2;
|
gaps = 4;
|
||||||
|
background-color = pkgs.catppuccin.${config.catppuccin.flavor}.mantle;
|
||||||
|
default-column-width = {
|
||||||
|
proportion = 0.5;
|
||||||
|
};
|
||||||
|
preset-column-widths = [
|
||||||
|
{proportion = 1.0 / 3.0;}
|
||||||
|
{proportion = 1.0 / 2.0;}
|
||||||
|
{proportion = 2.0 / 3.0;}
|
||||||
|
];
|
||||||
|
border = {
|
||||||
|
enable = true;
|
||||||
|
width = 2;
|
||||||
|
active.color = pkgs.catppuccin.${config.catppuccin.flavor}.${config.catppuccin.accent};
|
||||||
|
inactive.color = pkgs.catppuccin.${config.catppuccin.flavor}.surface0;
|
||||||
|
urgent.color = pkgs.catppuccin.${config.catppuccin.flavor}.maroon;
|
||||||
|
};
|
||||||
|
focus-ring = {
|
||||||
|
enable = false;
|
||||||
|
width = 2;
|
||||||
|
active.color = pkgs.catppuccin.${config.catppuccin.flavor}.${config.catppuccin.accent};
|
||||||
|
inactive.color = pkgs.catppuccin.${config.catppuccin.flavor}.surface0;
|
||||||
|
urgent.color = pkgs.catppuccin.${config.catppuccin.flavor}.maroon;
|
||||||
|
};
|
||||||
|
shadow = {
|
||||||
|
enable = true;
|
||||||
|
spread = 5;
|
||||||
|
offset.x = 0;
|
||||||
|
offset.y = 5;
|
||||||
|
softness = 30;
|
||||||
|
color = pkgs.catppuccin.${config.catppuccin.flavor}.base + "77";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
window-rules = [
|
||||||
cursor = {
|
{
|
||||||
hide-when-typing = true;
|
matches = [
|
||||||
hide-after-inactive-ms = 2000;
|
{
|
||||||
size = config.userOptions.cursor.size;
|
app-id = "firefox$";
|
||||||
theme = config.userOptions.cursor.name;
|
title = "^Picture-in-Picture$";
|
||||||
};
|
}
|
||||||
layout = {
|
];
|
||||||
gaps = 4;
|
open-floating = true;
|
||||||
background-color = pkgs.catppuccin.${config.catppuccin.flavor}.mantle;
|
default-floating-position = {
|
||||||
default-column-width = {
|
x = 32;
|
||||||
proportion = 0.5;
|
y = 32;
|
||||||
};
|
relative-to = "bottom-left";
|
||||||
preset-column-widths = [
|
};
|
||||||
{proportion = 1.0 / 3.0;}
|
}
|
||||||
{proportion = 1.0 / 2.0;}
|
{
|
||||||
{proportion = 2.0 / 3.0;}
|
geometry-corner-radius = {
|
||||||
|
top-left = 16.0;
|
||||||
|
top-right = 16.0;
|
||||||
|
bottom-left = 16.0;
|
||||||
|
bottom-right = 16.0;
|
||||||
|
};
|
||||||
|
clip-to-geometry = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "openmw";
|
||||||
|
title = "OpenMW";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
app-id = "Minecraft";
|
||||||
|
title = "Minecraft";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
open-maximized = true;
|
||||||
|
open-focused = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
matches = [
|
||||||
|
{
|
||||||
|
app-id = "mpv";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
border.active.color = pkgs.catppuccin.${config.catppuccin.flavor}.surface1;
|
||||||
|
}
|
||||||
];
|
];
|
||||||
border = {
|
binds = {
|
||||||
enable = true;
|
"Mod+Shift+Slash".action.show-hotkey-overlay = {};
|
||||||
width = 2;
|
|
||||||
active.color = pkgs.catppuccin.${config.catppuccin.flavor}.${config.catppuccin.accent};
|
"Mod+T" = {
|
||||||
inactive.color = pkgs.catppuccin.${config.catppuccin.flavor}.surface0;
|
action.spawn = ["kitty"];
|
||||||
urgent.color = pkgs.catppuccin.${config.catppuccin.flavor}.maroon;
|
hotkey-overlay.title = "Open a Terminal: kitty";
|
||||||
};
|
|
||||||
focus-ring = {
|
|
||||||
enable = false;
|
|
||||||
width = 2;
|
|
||||||
active.color = pkgs.catppuccin.${config.catppuccin.flavor}.${config.catppuccin.accent};
|
|
||||||
inactive.color = pkgs.catppuccin.${config.catppuccin.flavor}.surface0;
|
|
||||||
urgent.color = pkgs.catppuccin.${config.catppuccin.flavor}.maroon;
|
|
||||||
};
|
|
||||||
shadow = {
|
|
||||||
enable = true;
|
|
||||||
spread = 5;
|
|
||||||
offset.x = 0;
|
|
||||||
offset.y = 5;
|
|
||||||
softness = 30;
|
|
||||||
color = pkgs.catppuccin.${config.catppuccin.flavor}.base + "77";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
window-rules = [
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
app-id = "firefox$";
|
|
||||||
title = "^Picture-in-Picture$";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
open-floating = true;
|
|
||||||
default-floating-position = {
|
|
||||||
x = 32;
|
|
||||||
y = 32;
|
|
||||||
relative-to = "bottom-left";
|
|
||||||
};
|
};
|
||||||
}
|
"Mod+Space" = {
|
||||||
{
|
action.spawn-sh = [
|
||||||
geometry-corner-radius = {
|
"noctalia-shell ipc call launcher toggle"
|
||||||
top-left = 16.0;
|
];
|
||||||
top-right = 16.0;
|
hotkey-overlay.title = "Run an Application: Noctalia app launcher";
|
||||||
bottom-left = 16.0;
|
|
||||||
bottom-right = 16.0;
|
|
||||||
};
|
};
|
||||||
clip-to-geometry = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
app-id = "openmw";
|
|
||||||
title = "OpenMW";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
app-id = "Minecraft";
|
|
||||||
title = "Minecraft";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
open-maximized = true;
|
|
||||||
open-focused = true;
|
|
||||||
}
|
|
||||||
{
|
|
||||||
matches = [
|
|
||||||
{
|
|
||||||
app-id = "mpv";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
border.active.color = pkgs.catppuccin.${config.catppuccin.flavor}.surface1;
|
|
||||||
}
|
|
||||||
];
|
|
||||||
binds = {
|
|
||||||
"Mod+Shift+Slash".action.show-hotkey-overlay = {};
|
|
||||||
|
|
||||||
"Mod+T" = {
|
"XF86AudioRaiseVolume" = {
|
||||||
action.spawn = ["kitty"];
|
action.spawn-sh = [
|
||||||
hotkey-overlay.title = "Open a Terminal: kitty";
|
"noctalia-shell ipc call volume increase"
|
||||||
};
|
];
|
||||||
"Mod+Space" = {
|
allow-when-locked = true;
|
||||||
action.spawn-sh = [
|
};
|
||||||
"noctalia-shell ipc call launcher toggle"
|
"XF86AudioLowerVolume" = {
|
||||||
];
|
action.spawn-sh = [
|
||||||
hotkey-overlay.title = "Run an Application: Noctalia app launcher";
|
"noctalia-shell ipc call volume decrease"
|
||||||
};
|
];
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
"Shift+XF86AudioRaiseVolume" = {
|
||||||
|
action.spawn = [
|
||||||
|
"wpctl"
|
||||||
|
"set-volume"
|
||||||
|
"@DEFAULT_AUDIO_SINK@"
|
||||||
|
"0.01+"
|
||||||
|
];
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
"Shift+XF86AudioLowerVolume" = {
|
||||||
|
action.spawn = [
|
||||||
|
"wpctl"
|
||||||
|
"set-volume"
|
||||||
|
"@DEFAULT_AUDIO_SINK@"
|
||||||
|
"0.01-"
|
||||||
|
];
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
"XF86AudioMute" = {
|
||||||
|
action.spawn-sh = [
|
||||||
|
"noctalia-shell ipc call volume muteOutput"
|
||||||
|
];
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
"XF86AudioMicMute" = {
|
||||||
|
action.spawn-sh = [
|
||||||
|
"noctalia-shell ipc call volume muteInput"
|
||||||
|
];
|
||||||
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
|
||||||
"XF86AudioRaiseVolume" = {
|
"XF86MonBrightnessUp" = {
|
||||||
action.spawn-sh = [
|
action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
||||||
"noctalia-shell ipc call volume increase"
|
allow-when-locked = true;
|
||||||
];
|
};
|
||||||
allow-when-locked = true;
|
|
||||||
};
|
|
||||||
"XF86AudioLowerVolume" = {
|
|
||||||
action.spawn-sh = [
|
|
||||||
"noctalia-shell ipc call volume decrease"
|
|
||||||
];
|
|
||||||
allow-when-locked = true;
|
|
||||||
};
|
|
||||||
"Shift+XF86AudioRaiseVolume" = {
|
|
||||||
action.spawn = [
|
|
||||||
"wpctl"
|
|
||||||
"set-volume"
|
|
||||||
"@DEFAULT_AUDIO_SINK@"
|
|
||||||
"0.01+"
|
|
||||||
];
|
|
||||||
allow-when-locked = true;
|
|
||||||
};
|
|
||||||
"Shift+XF86AudioLowerVolume" = {
|
|
||||||
action.spawn = [
|
|
||||||
"wpctl"
|
|
||||||
"set-volume"
|
|
||||||
"@DEFAULT_AUDIO_SINK@"
|
|
||||||
"0.01-"
|
|
||||||
];
|
|
||||||
allow-when-locked = true;
|
|
||||||
};
|
|
||||||
"XF86AudioMute" = {
|
|
||||||
action.spawn-sh = [
|
|
||||||
"noctalia-shell ipc call volume muteOutput"
|
|
||||||
];
|
|
||||||
allow-when-locked = true;
|
|
||||||
};
|
|
||||||
"XF86AudioMicMute" = {
|
|
||||||
action.spawn-sh = [
|
|
||||||
"noctalia-shell ipc call volume muteInput"
|
|
||||||
];
|
|
||||||
allow-when-locked = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
"XF86MonBrightnessUp" = {
|
"XF86MonBrightnessDown" = {
|
||||||
action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "increase"];
|
action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86MonBrightnessDown" = {
|
"Shift+XF86MonBrightnessUp" = {
|
||||||
action.spawn = ["noctalia-shell" "ipc" "call" "brightness" "decrease"];
|
action.spawn = ["brightnessctl" "--class=backlight" "set" "+1%"];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Shift+XF86MonBrightnessUp" = {
|
"Shift+XF86MonBrightnessDown" = {
|
||||||
action.spawn = ["brightnessctl" "--class=backlight" "set" "+1%"];
|
action.spawn = ["brightnessctl" "--class=backlight" "set" "1%-"];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Shift+XF86MonBrightnessDown" = {
|
"XF86AudioPrev" = {
|
||||||
action.spawn = ["brightnessctl" "--class=backlight" "set" "1%-"];
|
action.spawn = ["playerctl" "previous"];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86AudioPrev" = {
|
"XF86AudioPlay" = {
|
||||||
action.spawn = ["playerctl" "previous"];
|
action.spawn = ["playerctl" "play-pause"];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86AudioPlay" = {
|
"XF86AudioNext" = {
|
||||||
action.spawn = ["playerctl" "play-pause"];
|
action.spawn = ["playerctl" "next"];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86AudioNext" = {
|
"XF86Sleep" = {
|
||||||
action.spawn = ["playerctl" "next"];
|
action.power-off-monitors = {};
|
||||||
allow-when-locked = true;
|
};
|
||||||
};
|
|
||||||
|
|
||||||
"XF86Sleep" = {
|
"XF86Search" = {
|
||||||
action.power-off-monitors = {};
|
action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
|
||||||
};
|
allow-when-locked = true;
|
||||||
|
};
|
||||||
|
|
||||||
"XF86Search" = {
|
"XF86LaunchA" = {
|
||||||
action.spawn = ["noctalia-shell" "ipc" "call" "launcher" "toggle"];
|
action.spawn = ["niri" "msg" "action" "toggle-overview"];
|
||||||
allow-when-locked = true;
|
allow-when-locked = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
"XF86LaunchA" = {
|
"Mod+O" = {
|
||||||
action.spawn = ["niri" "msg" "action" "toggle-overview"];
|
action.toggle-overview = {};
|
||||||
allow-when-locked = true;
|
repeat = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Mod+O" = {
|
"Mod+Q" = {
|
||||||
action.toggle-overview = {};
|
action.close-window = {};
|
||||||
repeat = false;
|
repeat = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
"Mod+Q" = {
|
"Mod+Left".action.focus-column-left = {};
|
||||||
action.close-window = {};
|
"Mod+Down".action.focus-window-down = {};
|
||||||
repeat = false;
|
"Mod+Up".action.focus-window-up = {};
|
||||||
};
|
"Mod+Right".action.focus-column-right = {};
|
||||||
|
"Mod+H".action.focus-column-left = {};
|
||||||
|
"Mod+J".action.focus-window-down = {};
|
||||||
|
"Mod+K".action.focus-window-up = {};
|
||||||
|
"Mod+L".action.focus-column-right = {};
|
||||||
|
|
||||||
"Mod+Left".action.focus-column-left = {};
|
"Mod+Ctrl+Left".action.move-column-left = {};
|
||||||
"Mod+Down".action.focus-window-down = {};
|
"Mod+Ctrl+Down".action.move-window-down = {};
|
||||||
"Mod+Up".action.focus-window-up = {};
|
"Mod+Ctrl+Up".action.move-window-up = {};
|
||||||
"Mod+Right".action.focus-column-right = {};
|
"Mod+Ctrl+Right".action.move-column-right = {};
|
||||||
"Mod+H".action.focus-column-left = {};
|
"Mod+Ctrl+H".action.move-column-left = {};
|
||||||
"Mod+J".action.focus-window-down = {};
|
"Mod+Ctrl+J".action.move-window-down = {};
|
||||||
"Mod+K".action.focus-window-up = {};
|
"Mod+Ctrl+K".action.move-window-up = {};
|
||||||
"Mod+L".action.focus-column-right = {};
|
"Mod+Ctrl+L".action.move-column-right = {};
|
||||||
|
|
||||||
"Mod+Ctrl+Left".action.move-column-left = {};
|
"Mod+Home".action.focus-column-first = {};
|
||||||
"Mod+Ctrl+Down".action.move-window-down = {};
|
"Mod+End".action.focus-column-last = {};
|
||||||
"Mod+Ctrl+Up".action.move-window-up = {};
|
"Mod+Ctrl+Home".action.move-column-to-first = {};
|
||||||
"Mod+Ctrl+Right".action.move-column-right = {};
|
"Mod+Ctrl+End".action.move-column-to-last = {};
|
||||||
"Mod+Ctrl+H".action.move-column-left = {};
|
|
||||||
"Mod+Ctrl+J".action.move-window-down = {};
|
|
||||||
"Mod+Ctrl+K".action.move-window-up = {};
|
|
||||||
"Mod+Ctrl+L".action.move-column-right = {};
|
|
||||||
|
|
||||||
"Mod+Home".action.focus-column-first = {};
|
"Mod+Shift+Left".action.focus-monitor-left = {};
|
||||||
"Mod+End".action.focus-column-last = {};
|
"Mod+Shift+Down".action.focus-monitor-down = {};
|
||||||
"Mod+Ctrl+Home".action.move-column-to-first = {};
|
"Mod+Shift+Up".action.focus-monitor-up = {};
|
||||||
"Mod+Ctrl+End".action.move-column-to-last = {};
|
"Mod+Shift+Right".action.focus-monitor-right = {};
|
||||||
|
"Mod+Shift+H".action.focus-monitor-left = {};
|
||||||
|
"Mod+Shift+J".action.focus-monitor-down = {};
|
||||||
|
"Mod+Shift+K".action.focus-monitor-up = {};
|
||||||
|
"Mod+Shift+L".action.focus-monitor-right = {};
|
||||||
|
|
||||||
"Mod+Shift+Left".action.focus-monitor-left = {};
|
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = {};
|
||||||
"Mod+Shift+Down".action.focus-monitor-down = {};
|
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = {};
|
||||||
"Mod+Shift+Up".action.focus-monitor-up = {};
|
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = {};
|
||||||
"Mod+Shift+Right".action.focus-monitor-right = {};
|
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = {};
|
||||||
"Mod+Shift+H".action.focus-monitor-left = {};
|
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = {};
|
||||||
"Mod+Shift+J".action.focus-monitor-down = {};
|
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = {};
|
||||||
"Mod+Shift+K".action.focus-monitor-up = {};
|
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = {};
|
||||||
"Mod+Shift+L".action.focus-monitor-right = {};
|
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = {};
|
||||||
|
|
||||||
"Mod+Shift+Ctrl+Left".action.move-column-to-monitor-left = {};
|
"Mod+Page_Down".action.focus-workspace-down = {};
|
||||||
"Mod+Shift+Ctrl+Down".action.move-column-to-monitor-down = {};
|
"Mod+Page_Up".action.focus-workspace-up = {};
|
||||||
"Mod+Shift+Ctrl+Up".action.move-column-to-monitor-up = {};
|
"Mod+U".action.focus-workspace-down = {};
|
||||||
"Mod+Shift+Ctrl+Right".action.move-column-to-monitor-right = {};
|
"Mod+I".action.focus-workspace-up = {};
|
||||||
"Mod+Shift+Ctrl+H".action.move-column-to-monitor-left = {};
|
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = {};
|
||||||
"Mod+Shift+Ctrl+J".action.move-column-to-monitor-down = {};
|
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = {};
|
||||||
"Mod+Shift+Ctrl+K".action.move-column-to-monitor-up = {};
|
"Mod+Ctrl+U".action.move-column-to-workspace-down = {};
|
||||||
"Mod+Shift+Ctrl+L".action.move-column-to-monitor-right = {};
|
"Mod+Ctrl+I".action.move-column-to-workspace-up = {};
|
||||||
|
|
||||||
"Mod+Page_Down".action.focus-workspace-down = {};
|
"Mod+Shift+Page_Down".action.move-workspace-down = {};
|
||||||
"Mod+Page_Up".action.focus-workspace-up = {};
|
"Mod+Shift+Page_Up".action.move-workspace-up = {};
|
||||||
"Mod+U".action.focus-workspace-down = {};
|
"Mod+Shift+U".action.move-workspace-down = {};
|
||||||
"Mod+I".action.focus-workspace-up = {};
|
"Mod+Shift+I".action.move-workspace-up = {};
|
||||||
"Mod+Ctrl+Page_Down".action.move-column-to-workspace-down = {};
|
|
||||||
"Mod+Ctrl+Page_Up".action.move-column-to-workspace-up = {};
|
|
||||||
"Mod+Ctrl+U".action.move-column-to-workspace-down = {};
|
|
||||||
"Mod+Ctrl+I".action.move-column-to-workspace-up = {};
|
|
||||||
|
|
||||||
"Mod+Shift+Page_Down".action.move-workspace-down = {};
|
"Mod+WheelScrollDown" = {
|
||||||
"Mod+Shift+Page_Up".action.move-workspace-up = {};
|
action.focus-workspace-down = {};
|
||||||
"Mod+Shift+U".action.move-workspace-down = {};
|
cooldown-ms = 150;
|
||||||
"Mod+Shift+I".action.move-workspace-up = {};
|
};
|
||||||
|
"Mod+WheelScrollUp" = {
|
||||||
|
action.focus-workspace-up = {};
|
||||||
|
cooldown-ms = 150;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+WheelScrollDown" = {
|
||||||
|
action.move-column-to-workspace-down = {};
|
||||||
|
cooldown-ms = 150;
|
||||||
|
};
|
||||||
|
"Mod+Ctrl+WheelScrollUp" = {
|
||||||
|
action.move-column-to-workspace-up = {};
|
||||||
|
cooldown-ms = 150;
|
||||||
|
};
|
||||||
|
|
||||||
"Mod+WheelScrollDown" = {
|
"Mod+WheelScrollRight".action.focus-column-right = {};
|
||||||
action.focus-workspace-down = {};
|
"Mod+WheelScrollLeft".action.focus-column-left = {};
|
||||||
cooldown-ms = 150;
|
"Mod+Ctrl+WheelScrollRight".action.move-column-right = {};
|
||||||
};
|
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = {};
|
||||||
"Mod+WheelScrollUp" = {
|
|
||||||
action.focus-workspace-up = {};
|
|
||||||
cooldown-ms = 150;
|
|
||||||
};
|
|
||||||
"Mod+Ctrl+WheelScrollDown" = {
|
|
||||||
action.move-column-to-workspace-down = {};
|
|
||||||
cooldown-ms = 150;
|
|
||||||
};
|
|
||||||
"Mod+Ctrl+WheelScrollUp" = {
|
|
||||||
action.move-column-to-workspace-up = {};
|
|
||||||
cooldown-ms = 150;
|
|
||||||
};
|
|
||||||
|
|
||||||
"Mod+WheelScrollRight".action.focus-column-right = {};
|
"Mod+Shift+WheelScrollDown".action.focus-column-right = {};
|
||||||
"Mod+WheelScrollLeft".action.focus-column-left = {};
|
"Mod+Shift+WheelScrollUp".action.focus-column-left = {};
|
||||||
"Mod+Ctrl+WheelScrollRight".action.move-column-right = {};
|
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = {};
|
||||||
"Mod+Ctrl+WheelScrollLeft".action.move-column-left = {};
|
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = {};
|
||||||
|
|
||||||
"Mod+Shift+WheelScrollDown".action.focus-column-right = {};
|
"Mod+1".action.focus-workspace = 1;
|
||||||
"Mod+Shift+WheelScrollUp".action.focus-column-left = {};
|
"Mod+2".action.focus-workspace = 2;
|
||||||
"Mod+Ctrl+Shift+WheelScrollDown".action.move-column-right = {};
|
"Mod+3".action.focus-workspace = 3;
|
||||||
"Mod+Ctrl+Shift+WheelScrollUp".action.move-column-left = {};
|
"Mod+4".action.focus-workspace = 4;
|
||||||
|
"Mod+5".action.focus-workspace = 5;
|
||||||
|
"Mod+6".action.focus-workspace = 6;
|
||||||
|
"Mod+7".action.focus-workspace = 7;
|
||||||
|
"Mod+8".action.focus-workspace = 8;
|
||||||
|
"Mod+9".action.focus-workspace = 9;
|
||||||
|
"Mod+Ctrl+1".action.move-column-to-workspace = 1;
|
||||||
|
"Mod+Ctrl+2".action.move-column-to-workspace = 2;
|
||||||
|
"Mod+Ctrl+3".action.move-column-to-workspace = 3;
|
||||||
|
"Mod+Ctrl+4".action.move-column-to-workspace = 4;
|
||||||
|
"Mod+Ctrl+5".action.move-column-to-workspace = 5;
|
||||||
|
"Mod+Ctrl+6".action.move-column-to-workspace = 6;
|
||||||
|
"Mod+Ctrl+7".action.move-column-to-workspace = 7;
|
||||||
|
"Mod+Ctrl+8".action.move-column-to-workspace = 8;
|
||||||
|
"Mod+Ctrl+9".action.move-column-to-workspace = 9;
|
||||||
|
|
||||||
"Mod+1".action.focus-workspace = 1;
|
"Mod+BracketLeft".action.consume-or-expel-window-left = {};
|
||||||
"Mod+2".action.focus-workspace = 2;
|
"Mod+BracketRight".action.consume-or-expel-window-right = {};
|
||||||
"Mod+3".action.focus-workspace = 3;
|
|
||||||
"Mod+4".action.focus-workspace = 4;
|
|
||||||
"Mod+5".action.focus-workspace = 5;
|
|
||||||
"Mod+6".action.focus-workspace = 6;
|
|
||||||
"Mod+7".action.focus-workspace = 7;
|
|
||||||
"Mod+8".action.focus-workspace = 8;
|
|
||||||
"Mod+9".action.focus-workspace = 9;
|
|
||||||
"Mod+Ctrl+1".action.move-column-to-workspace = 1;
|
|
||||||
"Mod+Ctrl+2".action.move-column-to-workspace = 2;
|
|
||||||
"Mod+Ctrl+3".action.move-column-to-workspace = 3;
|
|
||||||
"Mod+Ctrl+4".action.move-column-to-workspace = 4;
|
|
||||||
"Mod+Ctrl+5".action.move-column-to-workspace = 5;
|
|
||||||
"Mod+Ctrl+6".action.move-column-to-workspace = 6;
|
|
||||||
"Mod+Ctrl+7".action.move-column-to-workspace = 7;
|
|
||||||
"Mod+Ctrl+8".action.move-column-to-workspace = 8;
|
|
||||||
"Mod+Ctrl+9".action.move-column-to-workspace = 9;
|
|
||||||
|
|
||||||
"Mod+BracketLeft".action.consume-or-expel-window-left = {};
|
"Mod+Comma".action.consume-window-into-column = {};
|
||||||
"Mod+BracketRight".action.consume-or-expel-window-right = {};
|
"Mod+Period".action.expel-window-from-column = {};
|
||||||
|
|
||||||
"Mod+Comma".action.consume-window-into-column = {};
|
"Mod+R".action.switch-preset-column-width = {};
|
||||||
"Mod+Period".action.expel-window-from-column = {};
|
"Mod+Shift+R".action.switch-preset-window-height = {};
|
||||||
|
"Mod+Ctrl+R".action.reset-window-height = {};
|
||||||
|
"Mod+F".action.maximize-column = {};
|
||||||
|
"Mod+Shift+F".action.maximize-window-to-edges = {};
|
||||||
|
"Mod+Ctrl+Shift+F".action.fullscreen-window = {};
|
||||||
|
|
||||||
"Mod+R".action.switch-preset-column-width = {};
|
"Mod+Ctrl+F".action.expand-column-to-available-width = {};
|
||||||
"Mod+Shift+R".action.switch-preset-window-height = {};
|
|
||||||
"Mod+Ctrl+R".action.reset-window-height = {};
|
|
||||||
"Mod+F".action.maximize-column = {};
|
|
||||||
"Mod+Shift+F".action.maximize-window-to-edges = {};
|
|
||||||
"Mod+Ctrl+Shift+F".action.fullscreen-window = {};
|
|
||||||
|
|
||||||
"Mod+Ctrl+F".action.expand-column-to-available-width = {};
|
"Mod+C".action.center-column = {};
|
||||||
|
|
||||||
"Mod+C".action.center-column = {};
|
"Mod+Ctrl+C".action.center-visible-columns = {};
|
||||||
|
|
||||||
"Mod+Ctrl+C".action.center-visible-columns = {};
|
"Mod+Minus".action.set-column-width = "-10%";
|
||||||
|
"Mod+Equal".action.set-column-width = "+10%";
|
||||||
|
|
||||||
"Mod+Minus".action.set-column-width = "-10%";
|
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
||||||
"Mod+Equal".action.set-column-width = "+10%";
|
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
||||||
|
|
||||||
"Mod+Shift+Minus".action.set-window-height = "-10%";
|
"Mod+V".action.toggle-window-floating = {};
|
||||||
"Mod+Shift+Equal".action.set-window-height = "+10%";
|
"Mod+Shift+V".action.switch-focus-between-floating-and-tiling = {};
|
||||||
|
|
||||||
"Mod+V".action.toggle-window-floating = {};
|
"Mod+W".action.toggle-column-tabbed-display = {};
|
||||||
"Mod+Shift+V".action.switch-focus-between-floating-and-tiling = {};
|
|
||||||
|
|
||||||
"Mod+W".action.toggle-column-tabbed-display = {};
|
"Print".action.screenshot = {};
|
||||||
|
"Mod+Shift+S".action.screenshot = {};
|
||||||
|
"Ctrl+Print".action.screenshot-screen = {};
|
||||||
|
"Alt+Print".action.screenshot-window = {};
|
||||||
|
|
||||||
"Print".action.screenshot = {};
|
"Mod+Escape" = {
|
||||||
"Mod+Shift+S".action.screenshot = {};
|
action.toggle-keyboard-shortcuts-inhibit = {};
|
||||||
"Ctrl+Print".action.screenshot-screen = {};
|
allow-inhibiting = false;
|
||||||
"Alt+Print".action.screenshot-window = {};
|
};
|
||||||
|
|
||||||
"Mod+Escape" = {
|
"Mod+Shift+E".action.quit = {};
|
||||||
action.toggle-keyboard-shortcuts-inhibit = {};
|
"Ctrl+Alt+Delete".action.quit = {};
|
||||||
allow-inhibiting = false;
|
|
||||||
};
|
|
||||||
|
|
||||||
"Mod+Shift+E".action.quit = {};
|
"Mod+Shift+P" = {
|
||||||
"Ctrl+Alt+Delete".action.quit = {};
|
action.power-off-monitors = {};
|
||||||
|
hotkey-overlay.title = "Turn off the display";
|
||||||
"Mod+Shift+P" = {
|
};
|
||||||
action.power-off-monitors = {};
|
|
||||||
hotkey-overlay.title = "Turn off the display";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,5 @@
|
||||||
# Edit this configuration file to define what should be installed on
|
# Edit this configuration file to define what should be installed on
|
||||||
# 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’).
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
|
|
@ -8,48 +8,9 @@
|
||||||
inputs,
|
inputs,
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
nix.settings.experimental-features = [
|
environment.sessionVariables = {
|
||||||
"nix-command"
|
# this makes electron apps work per the wiki
|
||||||
"flakes"
|
|
||||||
];
|
|
||||||
|
|
||||||
nix.settings.trusted-users = [
|
|
||||||
"root"
|
|
||||||
"sckova"
|
|
||||||
];
|
|
||||||
|
|
||||||
nix.settings = {
|
|
||||||
# Increase file descriptor limit for builds
|
|
||||||
sandbox = "relaxed";
|
|
||||||
extra-sandbox-paths = [];
|
|
||||||
build-users-group = "nixbld";
|
|
||||||
};
|
|
||||||
|
|
||||||
security.pam.loginLimits = [
|
|
||||||
{
|
|
||||||
domain = "*";
|
|
||||||
type = "soft";
|
|
||||||
item = "nofile";
|
|
||||||
value = "65536";
|
|
||||||
}
|
|
||||||
{
|
|
||||||
domain = "*";
|
|
||||||
type = "hard";
|
|
||||||
item = "nofile";
|
|
||||||
value = "65536";
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
nix.gc = {
|
|
||||||
automatic = true;
|
|
||||||
dates = "weekly";
|
|
||||||
options = "--delete-older-than 30d";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment.sessionVariables = rec {
|
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
EDITOR = "nvim";
|
|
||||||
TERMINAL = "kitty";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
|
|
@ -120,11 +81,16 @@
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
desktopManager.plasma6.enable = true;
|
desktopManager.plasma6.enable = true;
|
||||||
displayManager.sddm = {
|
displayManager = {
|
||||||
enable = true;
|
sddm = {
|
||||||
wayland.enable = true;
|
enable = true;
|
||||||
enableHidpi = true;
|
wayland.enable = true;
|
||||||
|
enableHidpi = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
defaultSession = "niri";
|
||||||
};
|
};
|
||||||
|
|
||||||
libinput.enable = true;
|
libinput.enable = true;
|
||||||
printing.enable = true;
|
printing.enable = true;
|
||||||
pipewire = {
|
pipewire = {
|
||||||
|
|
@ -136,29 +102,6 @@
|
||||||
udisks2.enable = true;
|
udisks2.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
virtualisation = {
|
|
||||||
containers.enable = true;
|
|
||||||
podman = {
|
|
||||||
enable = true;
|
|
||||||
dockerCompat = true;
|
|
||||||
defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other.
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
|
|
||||||
|
|
||||||
users.users.sckova = {
|
|
||||||
isNormalUser = true;
|
|
||||||
description = "Sean Kovacs";
|
|
||||||
extraGroups = [
|
|
||||||
"wheel"
|
|
||||||
"networkmanager"
|
|
||||||
"podman"
|
|
||||||
];
|
|
||||||
packages = with pkgs; [];
|
|
||||||
hashedPassword = "$6$bvwRUFaJNMpH8rm3$FGDWFN6tBScJ/2DynAjnlZE8JRfyADN78d6c4GawxpAjyNLNE/AjQzMA09tLRqpKX7WnN5PIUZLAm2bT9/RbG0";
|
|
||||||
};
|
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
systemPackages = with pkgs; [
|
systemPackages = with pkgs; [
|
||||||
git
|
git
|
||||||
|
|
@ -185,9 +128,6 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
services.openssh.enable = true;
|
services.openssh.enable = true;
|
||||||
users.users."sckova".openssh.authorizedKeys.keys = [
|
|
||||||
"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCn/eXMq04vcXNqGVzlZOw2C2dQYBqzWsoigdFW09XqC2WPaGljbAIayzaD7Q1tIlPGGy10+nipAXAk1CHAnrQ2KSg4v/SwFphF48V3joeQmideC4vo0EIQEQibbMtj3oFezqRcRZINl/1hr4t0myZ3zkoTjh3HCkqJEMGUdArDMEVPA5mwcKSLsyshW9LMG/3C9YKKPU1/lVsoeDkj8AVZA0srhkApuRKF0IVu8KoPd6ldvSWgpQ1iuQ+MEMSeOUJytieBkzeY9zEVePaQ86oIMDUzqq8OTN37RyShiJKPskKyj12rJI2eFtI/viGaj8P6/yvKqMp3F4kAsPAuvMLLAIYCNa+139rDpkkIKB6lVtgq0jnJGRywaYXGIRyExNcVAr8I9wrNnNN2M4whVeYBxfLMzKZ+VvfK39AaGvnzPuFDLqUC87sN4c/1KZQo+TCtlaxcYvqowWylw5JHUt8uwFcO/dUebQxxAv8EdyPZGJ/54y19PsTbu9KyxSc2gIU= sckova"
|
|
||||||
];
|
|
||||||
|
|
||||||
# This value determines the NixOS release from which the default
|
# This value determines the NixOS release from which the default
|
||||||
# settings for stateful data, like file locations and database versions
|
# settings for stateful data, like file locations and database versions
|
||||||
|
|
|
||||||
|
|
@ -1,8 +1,6 @@
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
pkgs,
|
pkgs,
|
||||||
catppuccin,
|
|
||||||
nix-cachyos-kernel,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
networking.hostName = "alien";
|
networking.hostName = "alien";
|
||||||
|
|
@ -25,36 +23,14 @@
|
||||||
'';
|
'';
|
||||||
hardware.i2c.enable = true;
|
hardware.i2c.enable = true;
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = [
|
|
||||||
"aarch64-linux"
|
|
||||||
"riscv64-linux"
|
|
||||||
];
|
|
||||||
|
|
||||||
catppuccin.accent = "blue";
|
catppuccin.accent = "blue";
|
||||||
|
|
||||||
home-manager.users.sckova = {
|
|
||||||
imports = [catppuccin.homeModules.catppuccin];
|
|
||||||
};
|
|
||||||
|
|
||||||
boot.loader.systemd-boot.consoleMode = "max";
|
boot.loader.systemd-boot.consoleMode = "max";
|
||||||
# boot.kernelPackages = pkgs.linuxPackages;
|
# boot.kernelPackages = pkgs.linuxPackages;
|
||||||
|
|
||||||
# let's use the CachyOS kernel instead!
|
# let's use the CachyOS kernel instead!
|
||||||
nixpkgs.overlays = [nix-cachyos-kernel.overlays.default];
|
|
||||||
nix.settings.substituters = [
|
|
||||||
"https://attic.xuyh0120.win/lantian"
|
|
||||||
"https://cache.garnix.io"
|
|
||||||
];
|
|
||||||
nix.settings.trusted-public-keys = [
|
|
||||||
"lantian:EeAUQ+W+6r7EtwnmYjeVwx5kOGEBpjlBfPlzGlTNvHc="
|
|
||||||
"cache.garnix.io:CTFPyKSLcx5RMJKfLo5EEPUObbA78b0YQ2DTCJXqr9g="
|
|
||||||
];
|
|
||||||
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-lts;
|
boot.kernelPackages = pkgs.cachyosKernels.linuxPackages-cachyos-lts;
|
||||||
|
|
||||||
# enable hyper-v for guests
|
|
||||||
virtualisation.hypervGuest.enable = true;
|
|
||||||
boot.blacklistedKernelModules = ["hyperv_fb"];
|
|
||||||
|
|
||||||
programs = {
|
programs = {
|
||||||
gamescope = {
|
gamescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
@ -77,7 +53,6 @@
|
||||||
enable = false;
|
enable = false;
|
||||||
user = "sckova";
|
user = "sckova";
|
||||||
};
|
};
|
||||||
defaultSession = "niri";
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment = {
|
environment = {
|
||||||
|
|
@ -102,4 +77,27 @@
|
||||||
capSysAdmin = true;
|
capSysAdmin = true;
|
||||||
openFirewall = true;
|
openFirewall = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# virtualization settings
|
||||||
|
|
||||||
|
virtualisation = {
|
||||||
|
containers.enable = true;
|
||||||
|
podman = {
|
||||||
|
enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
|
defaultNetwork.settings.dns_enabled = true; # Required for containers under podman-compose to be able to talk to each other.
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
# enable hyper-v for guests
|
||||||
|
virtualisation.hypervGuest.enable = true;
|
||||||
|
boot.blacklistedKernelModules = ["hyperv_fb"];
|
||||||
|
|
||||||
|
boot.binfmt.emulatedSystems = [
|
||||||
|
"aarch64-linux"
|
||||||
|
"riscv64-linux"
|
||||||
|
];
|
||||||
|
|
||||||
|
# i don't even remember what this does or why i added it
|
||||||
|
systemd.tmpfiles.rules = ["L+ /var/lib/qemu/firmware - - - - ${pkgs.qemu}/share/qemu/firmware"];
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,25 +1,10 @@
|
||||||
{
|
{pkgs, ...}: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
catppuccin,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
networking.hostName = "peach";
|
networking.hostName = "peach";
|
||||||
|
|
||||||
boot.binfmt.emulatedSystems = [
|
|
||||||
"x86_64-linux"
|
|
||||||
"riscv64-linux"
|
|
||||||
];
|
|
||||||
|
|
||||||
boot.kernelParams = ["apple_dcp.show_notch=1"];
|
boot.kernelParams = ["apple_dcp.show_notch=1"];
|
||||||
|
|
||||||
catppuccin.accent = "peach";
|
catppuccin.accent = "peach";
|
||||||
|
|
||||||
home-manager.users.sckova = {
|
|
||||||
imports = [catppuccin.homeModules.catppuccin];
|
|
||||||
};
|
|
||||||
|
|
||||||
hardware.asahi = {
|
hardware.asahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
setupAsahiSound = true;
|
setupAsahiSound = true;
|
||||||
|
|
@ -37,7 +22,7 @@
|
||||||
swapDevices = [
|
swapDevices = [
|
||||||
{
|
{
|
||||||
device = "/swapfile";
|
device = "/swapfile";
|
||||||
size = 16000; # 16GB
|
size = 8000; # 8GB
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,18 +1,6 @@
|
||||||
{
|
{catppuccin, ...}: {
|
||||||
config,
|
|
||||||
pkgs,
|
|
||||||
lib,
|
|
||||||
catppuccin,
|
|
||||||
...
|
|
||||||
}: {
|
|
||||||
networking.hostName = "vm";
|
networking.hostName = "vm";
|
||||||
|
|
||||||
# Enable emulation for architectures we're not currently running
|
|
||||||
boot.binfmt.emulatedSystems =
|
|
||||||
lib.optional (pkgs.stdenv.hostPlatform.system != "x86_64-linux") "x86_64-linux"
|
|
||||||
++ lib.optional (pkgs.stdenv.hostPlatform.system != "aarch64-linux") "aarch64-linux"
|
|
||||||
++ lib.optional (pkgs.stdenv.hostPlatform.system != "riscv64-linux") "riscv64-linux";
|
|
||||||
|
|
||||||
catppuccin.accent = "green";
|
catppuccin.accent = "green";
|
||||||
|
|
||||||
home-manager.users.sckova = {
|
home-manager.users.sckova = {
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,6 @@
|
||||||
{pkgs, ...}: {
|
{pkgs, ...}: {
|
||||||
|
# This following block taken from the wiki:
|
||||||
|
# https://nixos.wiki/wiki/Fish#Setting_fish_as_your_shell
|
||||||
programs.bash = {
|
programs.bash = {
|
||||||
interactiveShellInit = ''
|
interactiveShellInit = ''
|
||||||
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
if [[ $(${pkgs.procps}/bin/ps --no-header --pid=$PPID --format=comm) != "fish" && -z ''${BASH_EXECUTION_STRING} ]]
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,8 @@
|
||||||
|
# The goal of this configuration is to make it so you can write systemd units that
|
||||||
|
# can wait until tailscale is up and connected, by putting After=tailscaled.service
|
||||||
|
# in their unit file.
|
||||||
# https://github.com/tailscale/tailscale/issues/11504#issuecomment-2113331262
|
# https://github.com/tailscale/tailscale/issues/11504#issuecomment-2113331262
|
||||||
{
|
{
|
||||||
config,
|
|
||||||
pkgs,
|
pkgs,
|
||||||
lib,
|
lib,
|
||||||
...
|
...
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,8 @@
|
||||||
|
# https://github.com/nix-community/nixos-apple-silicon/issues/145
|
||||||
|
# This should work with both x86_64 and aarch64. (hopefully)
|
||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
pkgs,
|
|
||||||
...
|
...
|
||||||
}: {
|
}: {
|
||||||
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [
|
nixpkgs.overlays = lib.mkIf (config.nixpkgs.hostPlatform.isLinux) [
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue