kanshi
This commit is contained in:
parent
b185275a0f
commit
bd6b30dbe7
53
flake.lock
53
flake.lock
|
@ -21,6 +21,27 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"home-manager-unstable": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1691882297,
|
||||||
|
"narHash": "sha256-e1/LAQSGLnBywfA1TfMl0Vj3tvYka73XOZ/D2/CJowE=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "c3ab5ea047e6dc73df530948f7367455749d8906",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "master",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"impermanence": {
|
"impermanence": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1690797372,
|
"lastModified": 1690797372,
|
||||||
|
@ -43,11 +64,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1691292840,
|
"lastModified": 1691897365,
|
||||||
"narHash": "sha256-NA+o/NoOOQhzAQwB2JpeKoG+iYQ6yn/XXVxaGd5HSQI=",
|
"narHash": "sha256-jvWIU4ht3YAmF8TDVM2Ps2+Gf4MtNGLL1zEWQZdTrzU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "6c626d54d0414d34c771c0f6f9d771bc8aaaa3c4",
|
"rev": "f4d70d098f066a30c7087144063dca179495f7d6",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -58,11 +79,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1691592289,
|
"lastModified": 1691831739,
|
||||||
"narHash": "sha256-Lqpw7lrXlLkYra33tp57ms8tZ0StWhbcl80vk4D90F8=",
|
"narHash": "sha256-6e12VCvA7jOjhzJ1adLiUV1GTPXGBcCfhggsDwiuNB4=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "9034b46dc4c7596a87ab837bb8a07ef2d887e8c7",
|
"rev": "3fe694c4156b84dac12627685c7ae592a71e2206",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -72,12 +93,30 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nixpkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1691654369,
|
||||||
|
"narHash": "sha256-gSILTEx1jRaJjwZxRlnu3ZwMn1FVNk80qlwiCX8kmpo=",
|
||||||
|
"owner": "NixOS",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "ce5e4a6ef2e59d89a971bc434ca8ca222b9c7f5e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "NixOS",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
"root": {
|
"root": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
|
"home-manager-unstable": "home-manager-unstable",
|
||||||
"impermanence": "impermanence",
|
"impermanence": "impermanence",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
19
flake.nix
19
flake.nix
|
@ -5,6 +5,9 @@
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
url = "github:NixOS/nixpkgs/nixos-23.05";
|
url = "github:NixOS/nixpkgs/nixos-23.05";
|
||||||
};
|
};
|
||||||
|
nixpkgs-unstable = {
|
||||||
|
url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
impermanence = {
|
impermanence = {
|
||||||
url = "github:nix-community/impermanence";
|
url = "github:nix-community/impermanence";
|
||||||
};
|
};
|
||||||
|
@ -16,6 +19,10 @@
|
||||||
url = "github:nix-community/home-manager/release-23.05";
|
url = "github:nix-community/home-manager/release-23.05";
|
||||||
inputs.nixpkgs.follows = "nixpkgs"; # use the same nixpkgs as the system
|
inputs.nixpkgs.follows = "nixpkgs"; # use the same nixpkgs as the system
|
||||||
};
|
};
|
||||||
|
home-manager-unstable = {
|
||||||
|
url = "github:nix-community/home-manager/master";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs"; # use the same nixpkgs as the system
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, ... }@inputs: {
|
outputs = { self, nixpkgs, ... }@inputs: {
|
||||||
|
@ -27,25 +34,19 @@
|
||||||
omega = nixpkgs.lib.nixosSystem {
|
omega = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = inputs; # pass flake inputs to modules
|
specialArgs = inputs; # pass flake inputs to modules
|
||||||
modules = [
|
modules = [ ./hosts/omega ];
|
||||||
./hosts/omega
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
# Laptop
|
# Laptop
|
||||||
zeta = nixpkgs.lib.nixosSystem {
|
zeta = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = inputs; # pass flake inputs to modules
|
specialArgs = inputs; # pass flake inputs to modules
|
||||||
modules = [
|
modules = [ ./hosts/zeta ];
|
||||||
./hosts/zeta
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
# Tor relay
|
# Tor relay
|
||||||
tor = nixpkgs.lib.nixosSystem {
|
tor = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
specialArgs = inputs; # pass flake inputs to modules
|
specialArgs = inputs; # pass flake inputs to modules
|
||||||
modules = [
|
modules = [ ./hosts/tor ];
|
||||||
./hosts/tor
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
|
../../overlays
|
||||||
../../modules/base
|
../../modules/base
|
||||||
../../modules/desktop
|
../../modules/desktop
|
||||||
];
|
];
|
||||||
|
|
|
@ -36,12 +36,12 @@
|
||||||
fileSystems."/mnt/C" = {
|
fileSystems."/mnt/C" = {
|
||||||
device = "/dev/disk/by-label/C";
|
device = "/dev/disk/by-label/C";
|
||||||
fsType = "ntfs-3g";
|
fsType = "ntfs-3g";
|
||||||
options = [ "rw" "uid=1000"];
|
options = [ "rw" "uid=1000" ];
|
||||||
};
|
};
|
||||||
fileSystems."/mnt/Backup" = {
|
fileSystems."/mnt/Backup" = {
|
||||||
device = "/dev/disk/by-label/Backup";
|
device = "/dev/disk/by-label/Backup";
|
||||||
fsType = "ntfs-3g";
|
fsType = "ntfs-3g";
|
||||||
options = [ "rw" "uid=1000"];
|
options = [ "rw" "uid=1000" ];
|
||||||
};
|
};
|
||||||
|
|
||||||
# Enables DHCP on all ethernet and wireless LAN interfaces.
|
# Enables DHCP on all ethernet and wireless LAN interfaces.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
./tor.nix
|
./tor.nix
|
||||||
|
../../overlays
|
||||||
../../modules/base
|
../../modules/base
|
||||||
../../modules/tor
|
../../modules/tor
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ ... }: {
|
{ ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./hardware.nix
|
./hardware.nix
|
||||||
|
../../overlays
|
||||||
../../modules/base
|
../../modules/base
|
||||||
../../modules/desktop
|
../../modules/desktop
|
||||||
];
|
];
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
{ pkgs, ... }: {
|
{ pkgs, ... }: {
|
||||||
imports = [
|
imports = [
|
||||||
./firefox.nix
|
./firefox.nix
|
||||||
|
./kanshi.nix
|
||||||
./network.nix
|
./network.nix
|
||||||
./ssh.nix
|
./ssh.nix
|
||||||
./sway.nix
|
./sway.nix
|
||||||
|
|
25
modules/desktop/kanshi.nix
Normal file
25
modules/desktop/kanshi.nix
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
{ home-manager, lib, pkgs, ... }: {
|
||||||
|
# https://nix-community.github.io/home-manager/options.html
|
||||||
|
|
||||||
|
home-manager.users.caspervk = {
|
||||||
|
services.kanshi = {
|
||||||
|
enable = true;
|
||||||
|
profiles = {
|
||||||
|
# Output names ("criteria") from `swaymsg -t get_outputs`.
|
||||||
|
home.outputs = [
|
||||||
|
{
|
||||||
|
criteria = "ASUSTek COMPUTER INC ROG XG27AQ M3LMQS370969";
|
||||||
|
mode = "2560x1440@144Hz";
|
||||||
|
position = "0,0";
|
||||||
|
adaptiveSync = true;
|
||||||
|
}
|
||||||
|
{
|
||||||
|
criteria = "BNQ BenQ XL2411Z SCD06385SL0";
|
||||||
|
mode = "1920x1080@144Hz";
|
||||||
|
position = "2560,0";
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
5
overlays/default.nix
Normal file
5
overlays/default.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{ ... }: {
|
||||||
|
imports = [
|
||||||
|
./kanshi.nix
|
||||||
|
];
|
||||||
|
}
|
14
overlays/kanshi.nix
Normal file
14
overlays/kanshi.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ home-manager, home-manager-unstable, nixpkgs-unstable, ... }: {
|
||||||
|
# adaptiveSync requires the unstable kanshi nixpkgs and home-manager module
|
||||||
|
|
||||||
|
nixpkgs.overlays = [
|
||||||
|
(self: super: {
|
||||||
|
kanshi = nixpkgs-unstable.legacyPackages.${super.system}.kanshi;
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
home-manager.users.caspervk = {
|
||||||
|
disabledModules = [ "${home-manager}/modules/services/kanshi.nix" ];
|
||||||
|
imports = [ "${home-manager-unstable}/modules/services/kanshi.nix" ];
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in a new issue