Initial transfer to sway on work PC #2
17
flake.lock
|
@ -463,22 +463,6 @@
|
||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nomachine": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1682367457,
|
|
||||||
"narHash": "sha256-Hec3l+TYmE9ICUz7NxmRtfljUl6ludm8QKSdiW21WRg=",
|
|
||||||
"owner": "rytec-nl",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "63686e66b7441ef5d5e7a6277d1c36c413548b05",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "rytec-nl",
|
|
||||||
"ref": "submit/add-nomachine-server",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"pamedia": {
|
"pamedia": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": [
|
"flake-utils": [
|
||||||
|
@ -549,7 +533,6 @@
|
||||||
"nixinate": "nixinate",
|
"nixinate": "nixinate",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs",
|
"nixpkgs": "nixpkgs",
|
||||||
"nomachine": "nomachine",
|
|
||||||
"pamedia": "pamedia",
|
"pamedia": "pamedia",
|
||||||
"pre-commit-hooks": "pre-commit-hooks",
|
"pre-commit-hooks": "pre-commit-hooks",
|
||||||
"rust-overlay": "rust-overlay_2",
|
"rust-overlay": "rust-overlay_2",
|
||||||
|
|
13
flake.nix
|
@ -78,10 +78,6 @@
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nomachine = {
|
|
||||||
url = "github:rytec-nl/nixpkgs/submit/add-nomachine-server";
|
|
||||||
};
|
|
||||||
|
|
||||||
eww = {
|
eww = {
|
||||||
url = "github:elkowar/eww";
|
url = "github:elkowar/eww";
|
||||||
inputs = {
|
inputs = {
|
||||||
|
@ -151,12 +147,6 @@
|
||||||
{
|
{
|
||||||
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
nix.nixPath = [ "nixpkgs=${nixpkgs}" ];
|
||||||
nixpkgs =
|
nixpkgs =
|
||||||
let
|
|
||||||
nomachine-pkgs = import nomachine {
|
|
||||||
inherit system;
|
|
||||||
config.allowUnfree = true;
|
|
||||||
};
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
overlays = [
|
overlays = [
|
||||||
self.overlays.default
|
self.overlays.default
|
||||||
|
@ -166,9 +156,6 @@
|
||||||
nil.overlays.default
|
nil.overlays.default
|
||||||
inputs.eww.overlays.default
|
inputs.eww.overlays.default
|
||||||
inputs.rust-overlay.overlays.default
|
inputs.rust-overlay.overlays.default
|
||||||
(_final: _prev: {
|
|
||||||
nomachine = nomachine-pkgs.nomachine;
|
|
||||||
})
|
|
||||||
] ++ nixpkgs.lib.optional (system == "aarch64-linux")
|
] ++ nixpkgs.lib.optional (system == "aarch64-linux")
|
||||||
(_final: super: {
|
(_final: super: {
|
||||||
makeModulesClosure = x:
|
makeModulesClosure = x:
|
||||||
|
|
|
@ -14,19 +14,38 @@ with lib; let
|
||||||
# swaylockcmd = "${pkgs.swaylock-effects}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --clock --image ${wallpapers.qhd} --fade-in 0.5 --scaling fill";
|
# swaylockcmd = "${pkgs.swaylock-effects}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --clock --image ${wallpapers.qhd} --fade-in 0.5 --scaling fill";
|
||||||
swaylockcmd = "${pkgs.swaylock}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --image ${wallpapers.qhd} --scaling fill";
|
swaylockcmd = "${pkgs.swaylock}/bin/swaylock --ignore-empty-password --daemonize --show-failed-attempts --indicator-caps-lock --image ${wallpapers.qhd} --scaling fill";
|
||||||
rofiPower = pkgs.writeShellScriptBin "rofi-power" (builtins.readFile ./powermenu.sh);
|
rofiPower = pkgs.writeShellScriptBin "rofi-power" (builtins.readFile ./powermenu.sh);
|
||||||
ewwDaemon =
|
|
||||||
let
|
|
||||||
path = lib.makeBinPath (with pkgs; [ ha-now-playing jaq pamedia bash helvum pavucontrol ]);
|
|
||||||
in
|
|
||||||
pkgs.writeShellScript "eww-daemon" ''
|
|
||||||
export PATH=${path}:''${PATH}
|
|
||||||
|
|
||||||
${config.eboskma.programs.eww.package}/bin/eww kill
|
|
||||||
${config.eboskma.programs.eww.package}/bin/eww daemon
|
|
||||||
'';
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.eboskma.programs.sway.enable = mkEnableOption "Enable sway";
|
options.eboskma.programs.sway = {
|
||||||
|
enable = mkEnableOption "Enable sway";
|
||||||
|
output = mkOption {
|
||||||
|
description = "An attribute set that defines output modules. See the sway-output(5) manpage for options";
|
||||||
|
type = types.attrsOf (types.attrsOf types.str);
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
|
input = mkOption {
|
||||||
|
description = "An attribute set that defines input modules. See the sway-input(5) manpage for options";
|
||||||
|
type = types.attrsOf (types.attrsOf types.str);
|
||||||
|
default = { };
|
||||||
|
};
|
||||||
|
startup = mkOption {
|
||||||
|
description = "Commands that should be executed at startup.";
|
||||||
|
type = types.listOf (types.submodule {
|
||||||
|
options = {
|
||||||
|
command = mkOption {
|
||||||
|
type = types.str;
|
||||||
|
description = "Command that will be executed on startup.";
|
||||||
|
};
|
||||||
|
|
||||||
|
always = mkOption {
|
||||||
|
type = types.bool;
|
||||||
|
default = false;
|
||||||
|
description = "Whether to run command on each ${moduleName} restart.";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
config = mkIf cfg.enable {
|
config = mkIf cfg.enable {
|
||||||
wayland.windowManager.sway = {
|
wayland.windowManager.sway = {
|
||||||
|
@ -36,9 +55,8 @@ in
|
||||||
|
|
||||||
assigns = {
|
assigns = {
|
||||||
"1" = [{ app_id = "firefox"; }];
|
"1" = [{ app_id = "firefox"; }];
|
||||||
"2" = [{ app_id = "Alacritty"; } { app_id = "foot"; }];
|
"2" = [{ app_id = "foot"; }];
|
||||||
"3" = [{ class = "Code"; } { app_id = "emacs"; }];
|
"3" = [{ class = "Code"; } { app_id = "emacs"; }];
|
||||||
"9" = [{ class = "Steam"; }];
|
|
||||||
};
|
};
|
||||||
bars = [ ];
|
bars = [ ];
|
||||||
|
|
||||||
|
@ -106,28 +124,8 @@ in
|
||||||
smartBorders = "on";
|
smartBorders = "on";
|
||||||
};
|
};
|
||||||
|
|
||||||
input = {
|
input = cfg.input;
|
||||||
"36125:40349:splitKB_Kyria" = {
|
output = cfg.output;
|
||||||
xkb_layout = "us";
|
|
||||||
xkb_options = "lv3:ralt_switch,eurosign:5";
|
|
||||||
};
|
|
||||||
"1133:49291:Logitech_G502_HERO_SE" = {
|
|
||||||
natural_scroll = "enabled";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
output = {
|
|
||||||
"Virtual-1" = {
|
|
||||||
bg = "${wallpapers.hd} fill";
|
|
||||||
mode = "1920x1080@60Hz";
|
|
||||||
};
|
|
||||||
"DP-2" = {
|
|
||||||
bg = "${./wallpapers/jwst-saturn-nircam-2560.png} fill";
|
|
||||||
mode = "2560x1440@165Hz";
|
|
||||||
adaptive_sync = "on";
|
|
||||||
max_render_time = "2";
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# menu = "${pkgs.wofi}/bin/wofi --show drun -i | ${pkgs.findutils}/bin/xargs swaymsg exec --";
|
# menu = "${pkgs.wofi}/bin/wofi --show drun -i | ${pkgs.findutils}/bin/xargs swaymsg exec --";
|
||||||
menu = "${pkgs.rofi}/bin/rofi -show drun -no-lazy-grab";
|
menu = "${pkgs.rofi}/bin/rofi -show drun -no-lazy-grab";
|
||||||
|
@ -226,7 +224,6 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# terminal = "${pkgs.alacritty}/bin/alacritty";
|
|
||||||
terminal = "${pkgs.foot}/bin/foot";
|
terminal = "${pkgs.foot}/bin/foot";
|
||||||
|
|
||||||
window = {
|
window = {
|
||||||
|
@ -242,10 +239,7 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
startup = [
|
startup = cfg.startup;
|
||||||
{ command = toString ewwDaemon; always = true; }
|
|
||||||
{ command = "${config.eboskma.programs.eww.package}/bin/eww open bar-home"; always = true; }
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
for_window [app_id="^.*"] inhibit_idle fullscreen
|
for_window [app_id="^.*"] inhibit_idle fullscreen
|
||||||
|
@ -308,8 +302,8 @@ in
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
timeout = 1200;
|
timeout = 1200;
|
||||||
command = "${pkgs.sway}/bin/swaymsg 'output * dpms off'";
|
command = "${pkgs.sway}/bin/swaymsg 'output * power off'";
|
||||||
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * dpms on'";
|
resumeCommand = "${pkgs.sway}/bin/swaymsg 'output * power on'";
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
BIN
home-manager/modules/sway/wallpapers/black-panther-2560.jpg
Normal file
After Width: | Height: | Size: 580 KiB |
BIN
home-manager/modules/sway/wallpapers/black-panther-3840.jpg
Normal file
After Width: | Height: | Size: 1.1 MiB |
After Width: | Height: | Size: 4.5 MiB |
After Width: | Height: | Size: 9.3 MiB |
After Width: | Height: | Size: 1.2 MiB |
After Width: | Height: | Size: 2 MiB |
After Width: | Height: | Size: 4 MiB |
Before Width: | Height: | Size: 3.9 MiB After Width: | Height: | Size: 9.8 MiB |
|
@ -14,6 +14,25 @@ let
|
||||||
in
|
in
|
||||||
''${pkgs.nitrogen}/bin/nitrogen --head=${monitor} --set-color=${cfg.backgroundColor} --set-tiled ${image}'')
|
''${pkgs.nitrogen}/bin/nitrogen --head=${monitor} --set-color=${cfg.backgroundColor} --set-tiled ${image}'')
|
||||||
(zipLists cfg.images (builtins.genList (x: x) (builtins.length cfg.images)))));
|
(zipLists cfg.images (builtins.genList (x: x) (builtins.length cfg.images)))));
|
||||||
|
|
||||||
|
wallpaperConfig = {
|
||||||
|
options = {
|
||||||
|
name = mkOption {
|
||||||
|
description = "The base filename of the image, without size and extension.";
|
||||||
|
type = types.str;
|
||||||
|
};
|
||||||
|
|
||||||
|
sizes = mkOption {
|
||||||
|
description = "The sizes this wallpaper comes in, as specified in the filename.";
|
||||||
|
type = with types; listOf int;
|
||||||
|
};
|
||||||
|
|
||||||
|
extension = mkOption {
|
||||||
|
description = "The extension of the wallpaper";
|
||||||
|
type = types.enum [ "jpg" "png" "gif" ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.eboskma.wallpapers = {
|
options.eboskma.wallpapers = {
|
||||||
|
@ -25,8 +44,8 @@ in
|
||||||
example = "#ff0000";
|
example = "#ff0000";
|
||||||
};
|
};
|
||||||
images = mkOption {
|
images = mkOption {
|
||||||
description = "Image(s) to use as wallpapers. For multiple monitors, either set a single image to use on all monitors, or set a list with as many images as monitors you have";
|
description = "Images to make available as wallpaper. The files should be named as `<name>-<size>.<ext>` and be placed in the `wallpapers` subdirectory";
|
||||||
type = with types; oneOf [ path (nonEmptyListOf path) ];
|
type = with types; listOf (submodule wallpaperConfig);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -39,7 +58,5 @@ in
|
||||||
notification = false;
|
notification = false;
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -359,10 +359,15 @@
|
||||||
statdPort = 4100;
|
statdPort = 4100;
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment = {
|
||||||
appimage-run
|
sessionVariables = {
|
||||||
tailscale
|
AMD_VULKAN_ICD = "RADV";
|
||||||
];
|
};
|
||||||
|
systemPackages = with pkgs; [
|
||||||
|
appimage-run
|
||||||
|
tailscale
|
||||||
|
];
|
||||||
|
};
|
||||||
|
|
||||||
sops.defaultSopsFile = ./secrets.yaml;
|
sops.defaultSopsFile = ./secrets.yaml;
|
||||||
sops.secrets = {
|
sops.secrets = {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
# 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’).
|
||||||
|
|
||||||
{ nixos-hardware, nomachine, microvm, ... }:
|
{ nixos-hardware, microvm, ... }:
|
||||||
{ pkgs, config, ... }:
|
{ pkgs, config, ... }:
|
||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
|
@ -11,7 +11,7 @@
|
||||||
nixos-hardware.nixosModules.common-cpu-amd
|
nixos-hardware.nixosModules.common-cpu-amd
|
||||||
nixos-hardware.nixosModules.common-cpu-amd-pstate
|
nixos-hardware.nixosModules.common-cpu-amd-pstate
|
||||||
nixos-hardware.nixosModules.common-pc-ssd
|
nixos-hardware.nixosModules.common-pc-ssd
|
||||||
"${nomachine}/nixos/modules/services/admin/nomachine.nix"
|
# "${nomachine}/nixos/modules/services/admin/nomachine.nix"
|
||||||
|
|
||||||
microvm.nixosModules.host
|
microvm.nixosModules.host
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@
|
||||||
|
|
||||||
desktop = {
|
desktop = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
wayland = true;
|
||||||
};
|
};
|
||||||
docker = {
|
docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -46,13 +47,18 @@
|
||||||
};
|
};
|
||||||
fonts.enable = true;
|
fonts.enable = true;
|
||||||
gnome.enable = true;
|
gnome.enable = true;
|
||||||
|
greetd = {
|
||||||
|
enable = true;
|
||||||
|
sway = true;
|
||||||
|
wayvnc = true;
|
||||||
|
};
|
||||||
kanata = {
|
kanata = {
|
||||||
enable = true;
|
enable = true;
|
||||||
devices = [
|
devices = [
|
||||||
"/dev/input/by-id/usb-04d9_USB-HID_Keyboard-event-kbd"
|
"/dev/input/by-id/usb-04d9_USB-HID_Keyboard-event-kbd"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
lightdm.enable = true;
|
lightdm.enable = false;
|
||||||
networking.enable = true;
|
networking.enable = true;
|
||||||
nix-common = {
|
nix-common = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
@ -93,7 +99,7 @@
|
||||||
nvidia = {
|
nvidia = {
|
||||||
modesetting.enable = true;
|
modesetting.enable = true;
|
||||||
powerManagement.enable = true;
|
powerManagement.enable = true;
|
||||||
forceFullCompositionPipeline = true;
|
# forceFullCompositionPipeline = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
opengl = {
|
opengl = {
|
||||||
|
@ -122,11 +128,16 @@
|
||||||
};
|
};
|
||||||
efi.canTouchEfiVariables = true;
|
efi.canTouchEfiVariables = true;
|
||||||
};
|
};
|
||||||
|
# This triggers a warning on stateVersions < 23.11 if set to true
|
||||||
|
swraid.enable = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
time.timeZone = "Europe/Amsterdam";
|
time.timeZone = "Europe/Amsterdam";
|
||||||
|
|
||||||
console.useXkbConfig = true;
|
console = {
|
||||||
|
font = "${pkgs.terminus_font}/share/consolefonts/ter-u28n.psf.gz";
|
||||||
|
useXkbConfig = true;
|
||||||
|
};
|
||||||
|
|
||||||
networking = {
|
networking = {
|
||||||
hostName = "mimir";
|
hostName = "mimir";
|
||||||
|
@ -239,6 +250,9 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
# programs.ssh.startAgent = true;
|
# programs.ssh.startAgent = true;
|
||||||
|
programs = {
|
||||||
|
gnome-disks.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
services = {
|
services = {
|
||||||
openssh.enable = true;
|
openssh.enable = true;
|
||||||
|
@ -249,6 +263,16 @@
|
||||||
|
|
||||||
tailscale.enable = true;
|
tailscale.enable = true;
|
||||||
|
|
||||||
|
udisks2 = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
udev = {
|
||||||
|
extraRules = ''
|
||||||
|
ACTION=="add", ATTRS{idVendor}=="0781", ATTRS{idProduct}=="55b1", ATTRS{serial}=="A20033BEAC21B773", NAME="vault"
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
xserver = {
|
xserver = {
|
||||||
videoDrivers = [ "nvidia" ];
|
videoDrivers = [ "nvidia" ];
|
||||||
|
@ -270,11 +294,6 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nxserver = {
|
|
||||||
enable = true;
|
|
||||||
openFirewall = true;
|
|
||||||
};
|
|
||||||
|
|
||||||
icecream.daemon = {
|
icecream.daemon = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
||||||
|
@ -285,9 +304,15 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [
|
environment = {
|
||||||
appimage-run
|
systemPackages = with pkgs; [
|
||||||
];
|
appimage-run
|
||||||
|
];
|
||||||
|
|
||||||
|
sessionVariables = {
|
||||||
|
WLR_NO_HARDWARE_CURSORS = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# sops = {
|
# sops = {
|
||||||
# defaultSopsFile = ./secrets.yaml;
|
# defaultSopsFile = ./secrets.yaml;
|
||||||
|
|
|
@ -88,7 +88,6 @@ in
|
||||||
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
QT_WAYLAND_DISABLE_WINDOWDECORATION = "1";
|
||||||
QT_QPA_PLATFORMTHEME = "qt5ct";
|
QT_QPA_PLATFORMTHEME = "qt5ct";
|
||||||
SDL_VIDEODRIVER = "wayland";
|
SDL_VIDEODRIVER = "wayland";
|
||||||
AMD_VULKAN_ICD = "RADV";
|
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
|
@ -8,11 +8,15 @@ with lib; let
|
||||||
|
|
||||||
style = builtins.replaceStrings [ "{WALLPAPER}" ] [ (builtins.toString ../../home-manager/modules/sway/wallpapers/river-2560.png) ] (builtins.readFile ./greetd.css);
|
style = builtins.replaceStrings [ "{WALLPAPER}" ] [ (builtins.toString ../../home-manager/modules/sway/wallpapers/river-2560.png) ] (builtins.readFile ./greetd.css);
|
||||||
|
|
||||||
|
swaySession = pkgs.writeShellScript "sway-session" ''
|
||||||
|
${pkgs.sway}/bin/sway --unsupported-gpu
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
options.eboskma.greetd = {
|
options.eboskma.greetd = {
|
||||||
enable = mkEnableOption "enable greetd";
|
enable = mkEnableOption "enable greetd";
|
||||||
sway = mkEnableOption "sway";
|
sway = mkEnableOption "sway";
|
||||||
|
wayvnc = mkEnableOption "wayvnc";
|
||||||
};
|
};
|
||||||
|
|
||||||
config =
|
config =
|
||||||
|
@ -53,59 +57,61 @@ in
|
||||||
|
|
||||||
security.pam.services.greetd.u2fAuth = false;
|
security.pam.services.greetd.u2fAuth = false;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ pantheon.elementary-gtk-theme pantheon.elementary-icon-theme ];
|
|
||||||
|
|
||||||
# exec "${pkgs.greetd.gtkgreet}/bin/gtkgreet -l -s /etc/greetd/gtkgreet.css; swaymsg exit"
|
# exec "${pkgs.greetd.gtkgreet}/bin/gtkgreet -l -s /etc/greetd/gtkgreet.css; swaymsg exit"
|
||||||
|
|
||||||
environment.etc = {
|
networking.firewall.allowedTCPPorts = lib.mkIf cfg.wayvnc [ 5900 ];
|
||||||
"greetd/sway-config" = {
|
|
||||||
text = ''
|
environment = {
|
||||||
# `-l` activates layer-shell mode. Notice that `swaymsg exit` will run after gtkgreet.
|
systemPackages = with pkgs; [ pantheon.elementary-gtk-theme pantheon.elementary-icon-theme ];
|
||||||
exec "${pkgs.greetd.regreet}/bin/regreet; swaymsg exit"
|
etc = {
|
||||||
# bindsym Mod4+shift+f exec swaynag \
|
"greetd/sway-config" = {
|
||||||
# -t warning \
|
text = lib.concatStringsSep "\n"
|
||||||
# -m 'What do you want to do?' \
|
((lib.optional cfg.wayvnc "exec ${pkgs.wayvnc}/bin/wayvnc -g 0.0.0.0") ++
|
||||||
# -b 'Poweroff' 'systemctl poweroff' \
|
[
|
||||||
# -b 'Reboot' 'systemctl reboot'
|
''
|
||||||
include /etc/sway/config.d/*
|
exec "${pkgs.greetd.regreet}/bin/regreet; swaymsg exit"
|
||||||
'';
|
include /etc/sway/config.d/*
|
||||||
user = "greeter";
|
''
|
||||||
group = "greeter";
|
]);
|
||||||
};
|
user = "greeter";
|
||||||
"greetd/environments" = {
|
group = "greeter";
|
||||||
text = concatStringsSep "\n" ((optional cfg.sway "${pkgs.sway}/bin/sway")
|
};
|
||||||
++ [ "${pkgs.bash}/bin/bash" ]);
|
"greetd/environments" = {
|
||||||
user = "greeter";
|
text = concatStringsSep "\n" ((optional cfg.sway "${swaySession}")
|
||||||
group = "greeter";
|
++ [ "${pkgs.bash}/bin/bash" ]);
|
||||||
};
|
user = "greeter";
|
||||||
"greetd/gtkgreet.css" = {
|
group = "greeter";
|
||||||
text = style;
|
};
|
||||||
user = "greeter";
|
"greetd/gtkgreet.css" = {
|
||||||
group = "greeter";
|
text = style;
|
||||||
};
|
user = "greeter";
|
||||||
"sway/config.d/systemd-env.conf" = {
|
group = "greeter";
|
||||||
text = ''
|
};
|
||||||
exec_always --no-startup-id systemctl --user import-environment _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK
|
"sway/config.d/systemd-env.conf" = {
|
||||||
exec_always --no-startup-id dbus-update-activation-environment --systemd _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK
|
text = ''
|
||||||
'';
|
exec_always --no-startup-id systemctl --user import-environment _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK
|
||||||
};
|
exec_always --no-startup-id dbus-update-activation-environment --systemd _JAVA_AWT_WM_NONREPARENTING MOZ_ENABLE_WAYLAND MOZ_DBUS_REMOTE QT_QPA_PLATFORM QT_WAYLAND_DISABLE_WINDOWDECORATION QT_QPA_PLATFORMTHEME SDL_VIDEODRIVER SSH_AUTH_SOCK
|
||||||
"xdg/gtk-3.0/settings.ini" = {
|
'';
|
||||||
text = generators.toINI { } {
|
};
|
||||||
Settings = {
|
"xdg/gtk-3.0/settings.ini" = {
|
||||||
gtk-theme-name = "elementary";
|
text = generators.toINI { } {
|
||||||
gtk-icon-theme-name = "elementary";
|
Settings = {
|
||||||
gtk-cursor-theme-name = "elementary";
|
gtk-theme-name = "elementary";
|
||||||
gtk-application-prefer-dark-theme = "true";
|
gtk-icon-theme-name = "elementary";
|
||||||
|
gtk-cursor-theme-name = "elementary";
|
||||||
|
gtk-application-prefer-dark-theme = "true";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
"xdg/gtk-4.0/settings.ini" = {
|
||||||
"xdg/gtk-4.0/settings.ini" = {
|
text = generators.toINI { } {
|
||||||
text = generators.toINI { } {
|
Settings = {
|
||||||
Settings = {
|
gtk-theme-name = "elementary";
|
||||||
gtk-theme-name = "elementary";
|
gtk-icon-theme-name = "elementary";
|
||||||
gtk-icon-theme-name = "elementary";
|
gtk-cursor-theme-name = "elementary";
|
||||||
gtk-cursor-theme-name = "elementary";
|
gtk-application-prefer-dark-theme = "true";
|
||||||
gtk-application-prefer-dark-theme = "true";
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
with pkgs;
|
with pkgs;
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "rofi-wayland-unwrapped";
|
pname = "rofi-wayland-unwrapped";
|
||||||
version = "1.7.5";
|
version = "1.7.5+wayland2";
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "lbonn";
|
owner = "lbonn";
|
||||||
repo = "rofi";
|
repo = "rofi";
|
||||||
rev = "${version}+wayland1";
|
rev = version;
|
||||||
fetchSubmodules = true;
|
fetchSubmodules = true;
|
||||||
sha256 = "ddKLV7NvqgTQl5YlAEyBK0oalcJsLASK4z3qArQPUDQ=";
|
sha256 = "ddKLV7NvqgTQl5YlAEyBK0oalcJsLASK4z3qArQPUDQ=";
|
||||||
};
|
};
|
||||||
|
|
|
@ -2,6 +2,16 @@
|
||||||
with lib; let
|
with lib; let
|
||||||
cfg = config.eboskma.users.erwin;
|
cfg = config.eboskma.users.erwin;
|
||||||
bt = config.eboskma.bluetooth;
|
bt = config.eboskma.bluetooth;
|
||||||
|
|
||||||
|
ewwDaemon =
|
||||||
|
let
|
||||||
|
path = lib.makeBinPath (with pkgs; [ ha-now-playing jaq pamedia bash helvum pavucontrol ]);
|
||||||
|
in
|
||||||
|
pkgs.writeShellScript "eww-daemon" ''
|
||||||
|
export PATH=${path}:''${PATH}
|
||||||
|
|
||||||
|
${config.home-manager.users.erwin.eboskma.programs.eww.package}/bin/eww $@
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config =
|
config =
|
||||||
|
@ -89,7 +99,29 @@ in
|
||||||
solvespace.enable = true;
|
solvespace.enable = true;
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
starship.enable = true;
|
starship.enable = true;
|
||||||
sway.enable = true;
|
sway = {
|
||||||
|
enable = true;
|
||||||
|
output = {
|
||||||
|
"DP-2" = {
|
||||||
|
# bg = "${./wallpapers/jwst-saturn-nircam-2560.png} fill";
|
||||||
|
mode = "2560x1440@165Hz";
|
||||||
|
adaptive_sync = "on";
|
||||||
|
max_render_time = "2";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
"36125:40349:splitKB_Kyria" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_options = "lv3:ralt_switch,eurosign:5";
|
||||||
|
};
|
||||||
|
"1133:49291:Logitech_G502_HERO_SE" = {
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
startup = [
|
||||||
|
{ command = "${ewwDaemon} --restart open bar-home"; always = true; }
|
||||||
|
];
|
||||||
|
};
|
||||||
swaynotificationcenter.enable = true;
|
swaynotificationcenter.enable = true;
|
||||||
tea = {
|
tea = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
|
@ -3,21 +3,30 @@ with lib;
|
||||||
let
|
let
|
||||||
cfg = config.eboskma.users.erwin;
|
cfg = config.eboskma.users.erwin;
|
||||||
|
|
||||||
remoteSessionScript = pkgs.writeShellScriptBin "remote-session" ''
|
# remoteSessionScript = pkgs.writeShellScriptBin "remote-session" ''
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 2560x1440
|
# ${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 2560x1440
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --output DP-4 --mode 2560x1440 --right-of DP-0
|
# ${pkgs.xorg.xrandr}/bin/xrandr --output DP-4 --mode 2560x1440 --right-of DP-0
|
||||||
${pkgs.nitrogen}/bin/nitrogen --head=0 --set-auto ${toString ./wallpapers/jwst-carina-cosmic-cliffs-nircam-2560.png}
|
# ${pkgs.nitrogen}/bin/nitrogen --head=0 --set-auto ${toString ./wallpapers/jwst-carina-cosmic-cliffs-nircam-2560.png}
|
||||||
${pkgs.nitrogen}/bin/nitrogen --head=1 --set-auto ${toString ./wallpapers/jwst-southern-ring-nircam-miri-side-by-side-2560.png}
|
# ${pkgs.nitrogen}/bin/nitrogen --head=1 --set-auto ${toString ./wallpapers/jwst-southern-ring-nircam-miri-side-by-side-2560.png}
|
||||||
systemctl --user restart polybar
|
# systemctl --user restart polybar
|
||||||
'';
|
# '';
|
||||||
localSessionScript = pkgs.writeShellScriptBin "local-session" ''
|
# localSessionScript = pkgs.writeShellScriptBin "local-session" ''
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 3840x2160
|
# ${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --mode 3840x2160
|
||||||
${pkgs.xorg.xrandr}/bin/xrandr --output DP-4 --mode 3840x2160 --right-of DP-0
|
# ${pkgs.xorg.xrandr}/bin/xrandr --output DP-4 --mode 3840x2160 --right-of DP-0
|
||||||
${pkgs.nitrogen}/bin/nitrogen --head=0 --set-auto ${toString ./wallpapers/jwst-carina-cosmic-cliffs-nircam-3840.png}
|
# ${pkgs.nitrogen}/bin/nitrogen --head=0 --set-auto ${toString ./wallpapers/jwst-carina-cosmic-cliffs-nircam-3840.png}
|
||||||
${pkgs.nitrogen}/bin/nitrogen --head=1 --set-auto ${toString ./wallpapers/jwst-southern-ring-nircam-miri-side-by-side-3840.png}
|
# ${pkgs.nitrogen}/bin/nitrogen --head=1 --set-auto ${toString ./wallpapers/jwst-southern-ring-nircam-miri-side-by-side-3840.png}
|
||||||
systemctl --user restart polybar
|
# systemctl --user restart polybar
|
||||||
'';
|
# '';
|
||||||
|
|
||||||
|
ewwDaemon =
|
||||||
|
let
|
||||||
|
path = lib.makeBinPath (with pkgs; [ jaq pamedia bash helvum pavucontrol ]);
|
||||||
|
in
|
||||||
|
pkgs.writeShellScript "eww-daemon" ''
|
||||||
|
export PATH=${path}:''${PATH}
|
||||||
|
|
||||||
|
${config.home-manager.users.erwin.eboskma.programs.eww.package}/bin/eww $@
|
||||||
|
'';
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = mkIf cfg.work {
|
config = mkIf cfg.work {
|
||||||
|
@ -27,7 +36,7 @@ in
|
||||||
eboskma = {
|
eboskma = {
|
||||||
var.workSystem = true;
|
var.workSystem = true;
|
||||||
programs = {
|
programs = {
|
||||||
alacritty.enable = true;
|
alacritty.enable = false;
|
||||||
atuin.enable = true;
|
atuin.enable = true;
|
||||||
bat.enable = true;
|
bat.enable = true;
|
||||||
cargo = {
|
cargo = {
|
||||||
|
@ -39,10 +48,10 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
dropbox.enable = true;
|
dropbox.enable = true;
|
||||||
dunst.enable = true;
|
dunst.enable = false;
|
||||||
emacs = {
|
emacs = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.emacs-unstable;
|
package = pkgs.emacs-unstable-pgtk;
|
||||||
# .override {
|
# .override {
|
||||||
# treeSitterPlugins = builtins.attrValues (filterAttrs (_: isDerivation) pkgs.tree-sitter-grammars);
|
# treeSitterPlugins = builtins.attrValues (filterAttrs (_: isDerivation) pkgs.tree-sitter-grammars);
|
||||||
# };
|
# };
|
||||||
|
@ -50,12 +59,17 @@ in
|
||||||
};
|
};
|
||||||
eww = {
|
eww = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
package = pkgs.eww-wayland;
|
||||||
};
|
};
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
work = true;
|
work = true;
|
||||||
};
|
};
|
||||||
fish.enable = true;
|
fish.enable = true;
|
||||||
|
foot = {
|
||||||
|
enable = true;
|
||||||
|
server = false;
|
||||||
|
};
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
name = "Erwin Boskma";
|
name = "Erwin Boskma";
|
||||||
|
@ -65,7 +79,7 @@ in
|
||||||
};
|
};
|
||||||
gpg.enable = true;
|
gpg.enable = true;
|
||||||
i3 = {
|
i3 = {
|
||||||
enable = true;
|
enable = false;
|
||||||
startupCommands = [
|
startupCommands = [
|
||||||
{
|
{
|
||||||
command = "${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --primary --left-of DP-4";
|
command = "${pkgs.xorg.xrandr}/bin/xrandr --output DP-0 --primary --left-of DP-4";
|
||||||
|
@ -82,10 +96,10 @@ in
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
mpd.enable = true;
|
mpd.enable = true;
|
||||||
nushell.enable = true;
|
|
||||||
picom.enable = true;
|
|
||||||
polybar.enable = true;
|
|
||||||
neovim.enable = true;
|
neovim.enable = true;
|
||||||
|
nushell.enable = true;
|
||||||
|
picom.enable = false;
|
||||||
|
polybar.enable = false;
|
||||||
rclone = {
|
rclone = {
|
||||||
enable = true;
|
enable = true;
|
||||||
mounts = [
|
mounts = [
|
||||||
|
@ -103,25 +117,76 @@ in
|
||||||
};
|
};
|
||||||
rofi = {
|
rofi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
terminal = config.home-manager.users.erwin.xsession.windowManager.i3.config.terminal;
|
package = pkgs.rofi-wayland;
|
||||||
|
terminal = config.home-manager.users.erwin.wayland.windowManager.sway.config.terminal;
|
||||||
};
|
};
|
||||||
ssh.enable = true;
|
ssh.enable = true;
|
||||||
starship.enable = true;
|
starship.enable = true;
|
||||||
zellij = {
|
sway = {
|
||||||
enable = true;
|
enable = true;
|
||||||
copyCommand = "${pkgs.xsel}/bin/xsel --clipboard";
|
output = {
|
||||||
|
"DP-0" = {
|
||||||
|
# bg = "${./wallpapers/jwst-saturn-nircam-2560.png} fill";
|
||||||
|
mode = "3840x2160@60Hz";
|
||||||
|
position = "0 0";
|
||||||
|
};
|
||||||
|
"DP-4" = {
|
||||||
|
mode = "3840x2160@60Hz";
|
||||||
|
position = "3840 0";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
input = {
|
||||||
|
"1241:662:USB-HID_Keyboard" = {
|
||||||
|
xkb_layout = "us";
|
||||||
|
xkb_options = "lv3:ralt_switch,eurosign:5";
|
||||||
|
};
|
||||||
|
"1133:49257:Logitech_USB_Laser_Mouse" = {
|
||||||
|
natural_scroll = "enabled";
|
||||||
|
pointer_accel = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
startup = [
|
||||||
|
{ command = "${ewwDaemon} --restart open bar-work"; always = true; }
|
||||||
|
{ command = "${pkgs.wayvnc}/bin/wayvnc -g 0.0.0.0"; }
|
||||||
|
];
|
||||||
|
};
|
||||||
|
swaynotificationcenter.enable = true;
|
||||||
|
zellij = {
|
||||||
|
enable = false;
|
||||||
|
copyCommand = "${pkgs.wl-clipboard}/bin/wl-copy";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
services = {
|
services = {
|
||||||
xbanish.enable = true;
|
xbanish.enable = false;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs.home-manager.enable = true;
|
programs = {
|
||||||
programs.command-not-found.enable = true;
|
home-manager.enable = true;
|
||||||
|
command-not-found.enable = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
services = {
|
||||||
|
gnome-keyring = {
|
||||||
|
enable = true;
|
||||||
|
components = [ "pkcs11" "ssh" "secrets" ];
|
||||||
|
};
|
||||||
|
udiskie = {
|
||||||
|
enable = true;
|
||||||
|
tray = "auto";
|
||||||
|
notify = true;
|
||||||
|
settings = {
|
||||||
|
program_options = {
|
||||||
|
menu = "nested";
|
||||||
|
};
|
||||||
|
device_config = [
|
||||||
|
{
|
||||||
|
device_file = "/dev/loop*";
|
||||||
|
ignore = true;
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
services.gnome-keyring = {
|
|
||||||
enable = true;
|
|
||||||
components = [ "pkcs11" "ssh" "secrets" ];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
home = {
|
home = {
|
||||||
|
@ -172,8 +237,8 @@ in
|
||||||
zathura
|
zathura
|
||||||
zeal
|
zeal
|
||||||
|
|
||||||
localSessionScript
|
# localSessionScript
|
||||||
remoteSessionScript
|
# remoteSessionScript
|
||||||
]
|
]
|
||||||
++ (with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
|
++ (with gst_all_1; [ gstreamer gstreamer.dev gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav gst-vaapi ]);
|
||||||
|
|
||||||
|
@ -255,6 +320,11 @@ in
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enabled = "fcitx5";
|
||||||
|
fcitx5.addons = with pkgs; [ fcitx5-m17n fcitx5-gtk fcitx5-configtool ];
|
||||||
|
};
|
||||||
|
|
||||||
imports = [
|
imports = [
|
||||||
../../modules/options
|
../../modules/options
|
||||||
] ++ (map (mod: (../../home-manager/modules + "/${mod}")) (builtins.attrNames (builtins.readDir ../../home-manager/modules)));
|
] ++ (map (mod: (../../home-manager/modules + "/${mod}")) (builtins.attrNames (builtins.readDir ../../home-manager/modules)));
|
||||||
|
@ -277,7 +347,7 @@ in
|
||||||
exportConfiguration = true;
|
exportConfiguration = true;
|
||||||
|
|
||||||
windowManager.i3 = {
|
windowManager.i3 = {
|
||||||
enable = true;
|
enable = false;
|
||||||
package = pkgs.i3-gaps;
|
package = pkgs.i3-gaps;
|
||||||
extraPackages = with pkgs; [ i3lock-color ];
|
extraPackages = with pkgs; [ i3lock-color ];
|
||||||
};
|
};
|
||||||
|
|