configure kanshi
This commit is contained in:
parent
f45861482d
commit
270b384f2c
5 changed files with 265 additions and 11 deletions
|
@ -0,0 +1,67 @@
|
||||||
|
{
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
nvme0n1 = {
|
||||||
|
type = "disk";
|
||||||
|
device = "/dev/nvme0n1";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
ESP = {
|
||||||
|
size = "512M";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = [
|
||||||
|
"defaults"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
luks = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "luks";
|
||||||
|
name = "crypted";
|
||||||
|
# disable settings.keyFile if you want to use interactive password entry
|
||||||
|
#passwordFile = "/tmp/secret.key"; # Interactive
|
||||||
|
settings = {
|
||||||
|
allowDiscards = true;
|
||||||
|
keyFile = "/tmp/secret.key";
|
||||||
|
};
|
||||||
|
additionalKeyFiles = [ "/tmp/additionalSecret.key" ];
|
||||||
|
content = {
|
||||||
|
type = "btrfs";
|
||||||
|
extraArgs = [ "-f" ];
|
||||||
|
subvolumes = {
|
||||||
|
"/root" = {
|
||||||
|
mountpoint = "/";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/home" = {
|
||||||
|
mountpoint = "/home";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/nix" = {
|
||||||
|
mountpoint = "/nix";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/mnt/data" = {
|
||||||
|
mountpoint = "/mnt/data";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/swap" = {
|
||||||
|
mountpoint = "/.swapvol";
|
||||||
|
swap.swapfile.size = "20M";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
7
hosts/Puenktchen/default.nix
Normal file
7
hosts/Puenktchen/default.nix
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{ pkgs, ... }:
|
||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./hardware-configuration.nix
|
||||||
|
#./disko.nix
|
||||||
|
];
|
||||||
|
}
|
67
hosts/Puenktchen/disko.nix
Normal file
67
hosts/Puenktchen/disko.nix
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
{
|
||||||
|
disko.devices = {
|
||||||
|
disk = {
|
||||||
|
nvme0n1 = {
|
||||||
|
type = "disk";
|
||||||
|
device = "/dev/nvme0n1";
|
||||||
|
content = {
|
||||||
|
type = "gpt";
|
||||||
|
partitions = {
|
||||||
|
ESP = {
|
||||||
|
size = "512M";
|
||||||
|
type = "EF00";
|
||||||
|
content = {
|
||||||
|
type = "filesystem";
|
||||||
|
format = "vfat";
|
||||||
|
mountpoint = "/boot";
|
||||||
|
mountOptions = [
|
||||||
|
"defaults"
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
luks = {
|
||||||
|
size = "100%";
|
||||||
|
content = {
|
||||||
|
type = "luks";
|
||||||
|
name = "crypted";
|
||||||
|
# disable settings.keyFile if you want to use interactive password entry
|
||||||
|
#passwordFile = "/tmp/secret.key"; # Interactive
|
||||||
|
settings = {
|
||||||
|
allowDiscards = true;
|
||||||
|
keyFile = "/tmp/secret.key";
|
||||||
|
};
|
||||||
|
additionalKeyFiles = [ "/tmp/additionalSecret.key" ];
|
||||||
|
content = {
|
||||||
|
type = "btrfs";
|
||||||
|
extraArgs = [ "-f" ];
|
||||||
|
subvolumes = {
|
||||||
|
"/root" = {
|
||||||
|
mountpoint = "/";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/home" = {
|
||||||
|
mountpoint = "/home";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/nix" = {
|
||||||
|
mountpoint = "/nix";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/mnt/data" = {
|
||||||
|
mountpoint = "/mnt/data";
|
||||||
|
mountOptions = [ "compress=zstd" "noatime" ];
|
||||||
|
};
|
||||||
|
"/swap" = {
|
||||||
|
mountpoint = "/.swapvol";
|
||||||
|
swap.swapfile.size = "20M";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
|
@ -7,7 +7,7 @@
|
||||||
./hyprland.nix
|
./hyprland.nix
|
||||||
./hyprlock.nix
|
./hyprlock.nix
|
||||||
./hyprpaper.nix
|
./hyprpaper.nix
|
||||||
#./kanshi.nix
|
./kanshi.nix
|
||||||
./mako.nix
|
./mako.nix
|
||||||
./pipewire.nix
|
./pipewire.nix
|
||||||
./polkit.nix
|
./polkit.nix
|
||||||
|
|
|
@ -1,17 +1,130 @@
|
||||||
|
{ pkgs, home-manager, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.kanshi = {
|
home-manager.users.willifan = {
|
||||||
enable = true;
|
services.kanshi = {
|
||||||
|
enable = true;
|
||||||
|
|
||||||
profile = {
|
settings = [
|
||||||
default = {
|
{
|
||||||
outputs = [
|
profile.name = "default";
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
mode = "2256x1504";
|
||||||
|
position = "0,0";
|
||||||
|
scale = 1.6;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||||
|
}
|
||||||
|
|
||||||
];
|
{
|
||||||
|
profile.name = "home";
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
mode = "2256x1504";
|
||||||
|
position = "0,384";
|
||||||
|
scale = 1.6;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "ViewSonic Corporation VX2705-2KP W6Z205100250";
|
||||||
|
mode = "2560x1440";
|
||||||
|
position = "1410,384";
|
||||||
|
scale = 1.25;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "ViewSonic Corporation VX2705-2KP W6Z210400766";
|
||||||
|
mode = "2560x1440@143.91Hz";
|
||||||
|
position = "3457,384";
|
||||||
|
scale = 1.25;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "BNQ BenQ BL2283 CAM01567019";
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "5505,0";
|
||||||
|
scale = 1.0;
|
||||||
|
transform = "270";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
profile.name = "LeoBots";
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "Samsung Electric Company S24F350 H4LR501027";
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "0,0";
|
||||||
|
scale = 1.0;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Samsung Electric Company S24F350 H4LR500406";
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "1920,0";
|
||||||
|
scale = 1.0;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
mode = "2256x1504";
|
||||||
|
position = "3840,0";
|
||||||
|
scale = 1.6;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
profile.name = "raum116";
|
||||||
|
profile.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "Samsung Electric Company S24F350 H4LR500834";
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "0,0";
|
||||||
|
scale = 1.0;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "Samsung Electric Company S24F350 H4LR500705";
|
||||||
|
mode = "1920x1080";
|
||||||
|
position = "1920,0";
|
||||||
|
scale = 1.0;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "eDP-1";
|
||||||
|
mode = "2256x1504";
|
||||||
|
position = "3840,0";
|
||||||
|
scale = 1.0;
|
||||||
|
transform = "normal";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
profile.exec = "$XDG_CONFIG_HOME/eww/scripts/monitors.sh";
|
||||||
|
}
|
||||||
|
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
systemd = {
|
||||||
|
user.services.kanshi-hyprland = {
|
||||||
|
description = "Wayland daemon that automatically configures outputs";
|
||||||
|
wantedBy = [ "graphical-session.target" ];
|
||||||
|
wants = [ "graphical-session.target" ];
|
||||||
|
after = [ "graphical-session.target" ];
|
||||||
|
serviceConfig = {
|
||||||
|
Type = "simple";
|
||||||
|
ExecStart = "${pkgs.kanshi}/bin/kanshi";
|
||||||
|
Restart = "always";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
systemdTarget = "hyprland-session.target";
|
|
||||||
};
|
};
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue