configure kanshi

This commit is contained in:
willifan 2024-05-15 13:05:50 +02:00
parent f45861482d
commit 270b384f2c
5 changed files with 265 additions and 11 deletions

View 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";
};
};
};
};
};
};
};
};
};
};
}

View File

@ -0,0 +1,7 @@
{ pkgs, ... }:
{
imports = [
./hardware-configuration.nix
#./disko.nix
];
}

View 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";
};
};
};
};
};
};
};
};
};
};
}

View File

@ -7,7 +7,7 @@
./hyprland.nix
./hyprlock.nix
./hyprpaper.nix
#./kanshi.nix
./kanshi.nix
./mako.nix
./pipewire.nix
./polkit.nix

View File

@ -1,17 +1,130 @@
{ pkgs, home-manager, ... }:
{
services.kanshi = {
enable = true;
home-manager.users.willifan = {
services.kanshi = {
enable = true;
profile = {
default = {
outputs = [
settings = [
{
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";
};
}