Compare commits
6 Commits
fc2407940c
...
a7214db68c
| Author | SHA1 | Date | |
|---|---|---|---|
|
a7214db68c
|
|||
|
49eeb9fe76
|
|||
|
76f3efe1b4
|
|||
|
823d8b9bb6
|
|||
|
ba9a3c7168
|
|||
|
1aef3db69d
|
@@ -34,9 +34,11 @@
|
|||||||
};
|
};
|
||||||
hardware = {
|
hardware = {
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
|
input = {
|
||||||
corne.allowHidAccess = true;
|
corne.allowHidAccess = true;
|
||||||
ibmTrackpoint.disable = true;
|
ibmTrackpoint.disable = true;
|
||||||
opentablet.enable = true;
|
opentablet.enable = true;
|
||||||
|
};
|
||||||
sound.enable = true;
|
sound.enable = true;
|
||||||
};
|
};
|
||||||
misc.keymap = "fr-bepo";
|
misc.keymap = "fr-bepo";
|
||||||
|
|||||||
@@ -38,8 +38,10 @@
|
|||||||
hardware = {
|
hardware = {
|
||||||
amdgpu.enable = true;
|
amdgpu.enable = true;
|
||||||
bluetooth.enable = true;
|
bluetooth.enable = true;
|
||||||
|
input = {
|
||||||
corne.allowHidAccess = true;
|
corne.allowHidAccess = true;
|
||||||
opentablet.enable = true;
|
opentablet.enable = true;
|
||||||
|
};
|
||||||
sound = {
|
sound = {
|
||||||
enable = true;
|
enable = true;
|
||||||
jack = true;
|
jack = true;
|
||||||
@@ -90,6 +92,11 @@
|
|||||||
mode = "0440";
|
mode = "0440";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
services.udev.extraHwdb = ''
|
||||||
|
mouse:usb:047d:80a6:*
|
||||||
|
LIBINPUT_MIDDLE_EMULATION_ENABLED=1
|
||||||
|
'';
|
||||||
|
|
||||||
security = {
|
security = {
|
||||||
polkit.enable = true;
|
polkit.enable = true;
|
||||||
rtkit.enable = true;
|
rtkit.enable = true;
|
||||||
|
|||||||
@@ -14,10 +14,15 @@ in {
|
|||||||
autoprune.enable = mkEnableOption "Enable autoprune";
|
autoprune.enable = mkEnableOption "Enable autoprune";
|
||||||
};
|
};
|
||||||
|
|
||||||
config = {
|
config = mkIf cfg.enable {
|
||||||
environment.systemPackages = mkIf cfg.podman.enable [
|
environment.systemPackages = with pkgs;
|
||||||
pkgs.podman-desktop
|
[
|
||||||
pkgs.podman-compose
|
dive # A tool for exploring each layer in a docker image
|
||||||
|
grype # Vulnerability scanner for container images and filesystems
|
||||||
|
]
|
||||||
|
++ lists.optionals cfg.podman.enable [
|
||||||
|
podman-compose
|
||||||
|
podman-desktop
|
||||||
];
|
];
|
||||||
virtualisation = mkIf cfg.enable {
|
virtualisation = mkIf cfg.enable {
|
||||||
docker = mkIf (!cfg.podman.enable) {
|
docker = mkIf (!cfg.podman.enable) {
|
||||||
|
|||||||
@@ -2,9 +2,7 @@
|
|||||||
imports = [
|
imports = [
|
||||||
./amdgpu.nix
|
./amdgpu.nix
|
||||||
./bluetooth.nix
|
./bluetooth.nix
|
||||||
./corne.nix
|
|
||||||
./ibm-trackpoint.nix
|
|
||||||
./opentablet.nix
|
|
||||||
./sound.nix
|
./sound.nix
|
||||||
|
./input
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,9 +4,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.mySystem.hardware.corne;
|
cfg = config.mySystem.hardware.input.corne;
|
||||||
in {
|
in {
|
||||||
options.mySystem.hardware.corne.allowHidAccess = mkEnableOption "Enable HID access to the corne keyboard";
|
options.mySystem.hardware.input.corne.allowHidAccess = mkEnableOption "Enable HID access to the corne keyboard";
|
||||||
config.services.udev = mkIf cfg.allowHidAccess {
|
config.services.udev = mkIf cfg.allowHidAccess {
|
||||||
extraRules = ''
|
extraRules = ''
|
||||||
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{serial}=="*vial:f64c2b3c*", MODE="0660", GROUP="users", TAG+="uaccess", TAG+="udev-acl"
|
||||||
8
system/hardware/input/default.nix
Normal file
8
system/hardware/input/default.nix
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
{
|
||||||
|
imports = [
|
||||||
|
./corne.nix
|
||||||
|
./ibm-trackpoint.nix
|
||||||
|
./opentablet.nix
|
||||||
|
./trackball.nix
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -4,9 +4,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.mySystem.hardware.ibmTrackpoint;
|
cfg = config.mySystem.hardware.input.ibmTrackpoint;
|
||||||
in {
|
in {
|
||||||
options.mySystem.hardware.ibmTrackpoint.disable = mkEnableOption "Disable IBM’s trackpoint on ThinkPad";
|
options.mySystem.hardware.input.ibmTrackpoint.disable = mkEnableOption "Disable IBM’s trackpoint on ThinkPad";
|
||||||
config.services.udev = mkIf cfg.disable {
|
config.services.udev = mkIf cfg.disable {
|
||||||
extraRules = ''
|
extraRules = ''
|
||||||
ATTRS{name}=="*TPPS/2 IBM TrackPoint", ENV{ID_INPUT}="", ENV{ID_INPUT_MOUSE}="", ENV{ID_INPUT_POINTINGSTICK}=""
|
ATTRS{name}=="*TPPS/2 IBM TrackPoint", ENV{ID_INPUT}="", ENV{ID_INPUT_MOUSE}="", ENV{ID_INPUT_POINTINGSTICK}=""
|
||||||
@@ -4,9 +4,9 @@
|
|||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.mySystem.hardware.opentablet;
|
cfg = config.mySystem.hardware.input.opentablet;
|
||||||
in {
|
in {
|
||||||
options.mySystem.hardware.opentablet.enable = mkEnableOption "Enables OpenTablet drivers";
|
options.mySystem.hardware.input.opentablet.enable = mkEnableOption "Enables OpenTablet drivers";
|
||||||
config.hardware.opentabletdriver = mkIf cfg.enable {
|
config.hardware.opentabletdriver = mkIf cfg.enable {
|
||||||
inherit (cfg) enable;
|
inherit (cfg) enable;
|
||||||
daemon.enable = true;
|
daemon.enable = true;
|
||||||
3
system/hardware/input/trackball.nix
Normal file
3
system/hardware/input/trackball.nix
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
{
|
||||||
|
services.libinput.mouse.middleEmulation = true;
|
||||||
|
}
|
||||||
@@ -82,7 +82,7 @@ in {
|
|||||||
new_status = "inherit";
|
new_status = "inherit";
|
||||||
};
|
};
|
||||||
workspace = [
|
workspace = [
|
||||||
"4, layoutopt:orientation:bottom"
|
"10, layoutopt:orientation:bottom"
|
||||||
"1, layoutopt:orientation:bottom"
|
"1, layoutopt:orientation:bottom"
|
||||||
];
|
];
|
||||||
decoration = {
|
decoration = {
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
{
|
{
|
||||||
config,
|
config,
|
||||||
lib,
|
lib,
|
||||||
|
pkgs,
|
||||||
...
|
...
|
||||||
}:
|
}:
|
||||||
with lib; let
|
with lib; let
|
||||||
@@ -43,7 +44,7 @@ in {
|
|||||||
};
|
};
|
||||||
Service = {
|
Service = {
|
||||||
Type = "oneshot";
|
Type = "oneshot";
|
||||||
ExecCondition = "pidof Hyprland";
|
ExecCondition = "${pkgs.procps}/bin/pidof Hyprland";
|
||||||
ExecStart = "${config.home.homeDirectory}/.config/hypr/hyprpaper-rotate.sh";
|
ExecStart = "${config.home.homeDirectory}/.config/hypr/hyprpaper-rotate.sh";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -79,7 +80,7 @@ in {
|
|||||||
echo "Setting wallpaper to: $WP"
|
echo "Setting wallpaper to: $WP"
|
||||||
|
|
||||||
# Load and set the wallpaper
|
# Load and set the wallpaper
|
||||||
hyprctl hyprpaper preload "$WP" && hyprctl hyprpaper wallpaper ",$WP"
|
${pkgs.hyprland}/bin/hyprctl hyprpaper preload "$WP" && ${pkgs.hyprland}/bin/hyprctl hyprpaper wallpaper ",$WP"
|
||||||
'';
|
'';
|
||||||
executable = true;
|
executable = true;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -40,6 +40,16 @@ with lib; let
|
|||||||
dcud = "docker compose up -d";
|
dcud = "docker compose up -d";
|
||||||
dcudp = "docker compose up -d --pull=always";
|
dcudp = "docker compose up -d --pull=always";
|
||||||
dcr = "docker compose restart";
|
dcr = "docker compose restart";
|
||||||
|
pc = "podman compose";
|
||||||
|
pcd = "podman compose down";
|
||||||
|
pcl = "podman compose logs";
|
||||||
|
pclf = "podman compose logs -f";
|
||||||
|
pcp = "podman compose pull";
|
||||||
|
pcu = "podman compose up";
|
||||||
|
pcud = "podman compose up -d";
|
||||||
|
pcudp = "podman compose up -d --pull=always";
|
||||||
|
pcr = "podman compose restart";
|
||||||
|
|
||||||
enw = "emacsclient -nw";
|
enw = "emacsclient -nw";
|
||||||
e = "emacsclient -n -c";
|
e = "emacsclient -n -c";
|
||||||
|
|
||||||
|
|||||||
@@ -68,18 +68,22 @@ with lib; {
|
|||||||
gimpPlugins.gmic
|
gimpPlugins.gmic
|
||||||
|
|
||||||
# Dev
|
# Dev
|
||||||
|
dbeaver-bin
|
||||||
devenv
|
devenv
|
||||||
dive # A tool for exploring each layer in a docker image
|
nodejs
|
||||||
grype # Vulnerability scanner for container images and filesystems
|
sqlite
|
||||||
tectonic # better LaTeX engine
|
tectonic # better LaTeX engine
|
||||||
|
wakatime-cli
|
||||||
zeal
|
zeal
|
||||||
|
|
||||||
## LSP servers
|
## LSP servers
|
||||||
bash-language-server
|
bash-language-server
|
||||||
docker-language-server
|
docker-language-server
|
||||||
kdePackages.qtdeclarative # For QML LSP
|
kdePackages.qtdeclarative # For QML LSP
|
||||||
nil # Nix
|
nixd
|
||||||
|
marksman
|
||||||
python3 # for Emacs and LSP
|
python3 # for Emacs and LSP
|
||||||
|
vscode-json-languageserver
|
||||||
yaml-language-server # Yaml (Docker, GitHub Actions, ...)
|
yaml-language-server # Yaml (Docker, GitHub Actions, ...)
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
pkgs.writeShellScriptBin "center-window" ''
|
pkgs.writeShellScriptBin "center-window" ''
|
||||||
pidof -x Hyprland && hyprctl dispatch centerwindow
|
${pkgs.procps}/bin/pidof -x Hyprland && ${pkgs.hyprland}/bin/hyprctl dispatch centerwindow
|
||||||
''
|
''
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
pkgs.writeShellScriptBin "close-window" ''
|
pkgs.writeShellScriptBin "close-window" ''
|
||||||
pidof -x Hyprland && hyprctl dispatch killactive
|
${pkgs.procps}/bin/pidof -x Hyprland && ${pkgs.hyprland}/bin/hyprctl dispatch killactive
|
||||||
''
|
''
|
||||||
|
|||||||
@@ -74,6 +74,11 @@
|
|||||||
desc = "Bluetooth";
|
desc = "Bluetooth";
|
||||||
cmd = "${pkgs.rofi-bluetooth}/bin/rofi-bluetooth";
|
cmd = "${pkgs.rofi-bluetooth}/bin/rofi-bluetooth";
|
||||||
}
|
}
|
||||||
|
{
|
||||||
|
key = "c";
|
||||||
|
desc = "calc";
|
||||||
|
cmd = "rofi -show calc";
|
||||||
|
}
|
||||||
{
|
{
|
||||||
key = "e";
|
key = "e";
|
||||||
desc = "Emoji";
|
desc = "Emoji";
|
||||||
@@ -82,7 +87,7 @@
|
|||||||
{
|
{
|
||||||
key = "r";
|
key = "r";
|
||||||
desc = "App Menu";
|
desc = "App Menu";
|
||||||
cmd = "rofi -combi-modi drun,calc -show combi";
|
cmd = "rofi -show drun";
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
key = "s";
|
key = "s";
|
||||||
|
|||||||
@@ -1,5 +1,4 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
pkgs.writeShellScriptBin "float" ''
|
pkgs.writeShellScriptBin "float" ''
|
||||||
pidof -x Hyprland && hyprctl dispatch togglefloating
|
${pkgs.procps}/bin/pidof -x Hyprland && ${pkgs.hyprland}/bin/hyprctl dispatch togglefloating
|
||||||
echo test
|
|
||||||
''
|
''
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
pkgs.writeShellScriptBin "focus-urgent" ''
|
pkgs.writeShellScriptBin "focus-urgent" ''
|
||||||
pidof -x Hyprland && hyprctl dispatch focusurgentorlast
|
${pkgs.procps}/bin/pidof -x Hyprland && ${pkgs.hyprland}/bin/hyprctl dispatch focusurgentorlast
|
||||||
''
|
''
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{pkgs, ...}:
|
{pkgs, ...}:
|
||||||
pkgs.writeShellScriptBin "fullscreen" ''
|
pkgs.writeShellScriptBin "fullscreen" ''
|
||||||
pidof -x Hyprland && hyprctl dispatch fullscreen
|
${pkgs.procps}/bin/pidof -x Hyprland && ${pkgs.hyprland}/bin/hyprctl dispatch fullscreen
|
||||||
''
|
''
|
||||||
|
|||||||
Reference in New Issue
Block a user