🚂
This commit is contained in:
parent
fcfd36c63b
commit
202611d0b8
18 changed files with 174 additions and 63 deletions
2
flake.lock
generated
2
flake.lock
generated
|
@ -54,7 +54,7 @@
|
|||
},
|
||||
"locked": {
|
||||
"lastModified": 1680949081,
|
||||
"narHash": "sha256-Z2OM36Ue6DsNNPnzg7znorZoXNVRwCVvjbbmhQosSxA=",
|
||||
"narHash": "sha256-9dwAlNJ+owWvgcbhFeoJGX6/0jr+FY6m/wiziVVIu2c=",
|
||||
"type": "git",
|
||||
"url": "file:///home/ccr/.config/emacs"
|
||||
},
|
||||
|
|
|
@ -14,7 +14,8 @@
|
|||
};
|
||||
services = {
|
||||
mbsync = {
|
||||
enable = true;
|
||||
enable = false;
|
||||
# FIXME this requires `pass` every 5 minutes that run `pinentry`
|
||||
frequency = "*:0/15";
|
||||
preExec = "${pkgs.isync}/bin/mbsync -Ha";
|
||||
# First time run: mu init --maildir ~/.mail --my-address andrea.ciceri@autistici.org
|
||||
|
|
|
@ -3,10 +3,20 @@
|
|||
enable = true;
|
||||
enableSshSupport = true;
|
||||
sshKeys = ["CE2FD0D9BECBD8876811714925066CC257413416"];
|
||||
extraConfig = ''
|
||||
extraConfig = let
|
||||
pinentryRofi = pkgs.writeShellApplication {
|
||||
name = "pinentry-rofi-with-env";
|
||||
runtimeInputs = with pkgs; [coreutils rofi];
|
||||
text = ''
|
||||
"${pkgs.pinentry-rofi}/bin/pinentry-rofi" "$@"
|
||||
'';
|
||||
};
|
||||
in ''
|
||||
allow-emacs-pinentry
|
||||
allow-loopback-pinentry
|
||||
pinentry-program ${pinentryRofi}/bin/pinentry-rofi-with-env
|
||||
'';
|
||||
pinentryFlavor = null;
|
||||
};
|
||||
|
||||
programs.gpg = {
|
||||
|
|
|
@ -2,44 +2,94 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}: let
|
||||
screenshotScript = pkgs.writeShellScript "screenshot.sh" ''
|
||||
filename="$HOME/shots/$(date --iso-8601=seconds).png"
|
||||
coords="$(${pkgs.slurp}/bin/slurp)"
|
||||
${pkgs.grim}/bin/grim -t png -g "$coords" "$filename"
|
||||
wl-copy -t image/png < $filename
|
||||
'';
|
||||
in {
|
||||
imports = [
|
||||
./hyprpaper.nix
|
||||
../waybar
|
||||
../swayidle
|
||||
../mako
|
||||
../gammastep
|
||||
../kitty
|
||||
];
|
||||
|
||||
home.packages = with pkgs; [wl-clipboard];
|
||||
|
||||
systemd.user.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
|
||||
services.network-manager-applet.enable = true;
|
||||
services.blueman-applet.enable = true;
|
||||
services.pasystray.enable = true;
|
||||
xsession.enable = true;
|
||||
|
||||
services.udiskie.enable = true;
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
font.name = "Sans,Symbols Nerd Font";
|
||||
iconTheme = {
|
||||
name = "Adwaita";
|
||||
package = pkgs.gnome.adwaita-icon-theme;
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
monitor = DP-2, 1920x1200, 0x0, 1, transform, 3
|
||||
monitor = DP-1, 2560x1440, 1200x320, 1
|
||||
monitor = eDP-1, 1920x1080, 3760x230, 1
|
||||
input {
|
||||
touchpad {
|
||||
disable_while_typing = true # set to true while playing
|
||||
}
|
||||
}
|
||||
|
||||
exec-once = ${config.programs.waybar.package}/bin/waybar
|
||||
exec-once = ${config.services.mako.package}/bin/mako
|
||||
exec-once = ${pkgs.swaybg}/bin/swaybg ../sway/wallpaper.svg
|
||||
monitor = DP-2, 1920x1200, 0x0, 1, transform, 3
|
||||
monitor = DP-1, 2560x1440, 1200x320, 1
|
||||
monitor = eDP-1, 1920x1080, 3760x230, 1
|
||||
|
||||
windowrulev2 = tile, class:^(Spotify)$
|
||||
windowrulev2 = workspace 9, class:^(Spotify)$
|
||||
exec-once = ${config.programs.waybar.package}/bin/waybar
|
||||
exec-once = ${config.services.mako.package}/bin/mako
|
||||
exec-once = ${pkgs.hyprpaper}/bin/hyprpaper
|
||||
|
||||
bind = SUPER , F, exec, firefox
|
||||
bind = SUPER , RETURN, exec, ${config.programs.kitty.package}/bin/kitty ${config.programs.kitty.package}/bin/kitty +kitten ssh mothership.fleet
|
||||
bind = SUPER, y, exec, ${pkgs.waypipe}/bin/waypipe --compress lz4=10 ssh mothership.fleet emacsclient -c
|
||||
bind = SUPER, d, exec, ${pkgs.fuzzel}/bin/fuzzel --background-color=253559cc --border-radius=5 --border-width=0
|
||||
windowrulev2 = tile, class:^(Spotify)$
|
||||
windowrulev2 = workspace 9, class:^(Spotify)$
|
||||
|
||||
bind = SUPER SHIFT, q, killactive
|
||||
bind = SUPER SHIFT, f, fullscreen, 0
|
||||
bind = SUPER SHIFT, e, exit
|
||||
bind = SUPER , F, exec, firefox
|
||||
bind = SUPER , RETURN, exec, ${config.programs.kitty.package}/bin/kitty ${config.programs.kitty.package}/bin/kitty +kitten ssh mothership.fleet
|
||||
bind = SUPER, x, exec, emacsclient -c
|
||||
bind = SUPER, y, exec, ${pkgs.waypipe}/bin/waypipe --compress lz4=10 ssh mothership.fleet emacsclient -c
|
||||
bind = SUPER, d, exec, ${pkgs.fuzzel}/bin/fuzzel --background-color=253559cc --border-radius=5 --border-width=0
|
||||
bind = SUPER, s, exec, ${screenshotScript}
|
||||
bind = , XF86MonBrightnessUp, exec, ${pkgs.brightnessctl}/bin/brightnessctl s +5%
|
||||
bind = , XF86MonBrightnessDown, exec, ${pkgs.brightnessctl}/bin/brightnessctl s 5%-
|
||||
|
||||
bind = SUPER, h, movefocus, l
|
||||
bind = SUPER, l, movefocus, r
|
||||
bind = SUPER, k, movefocus, u
|
||||
bind = SUPER, j, movefocus, d
|
||||
bind = SUPER SHIFT, q, killactive
|
||||
bind = SUPER SHIFT, f, fullscreen, 0
|
||||
bind = SUPER SHIFT, e, exit
|
||||
|
||||
bind = SUPER SHIFT, h, movewindow, l
|
||||
bind = SUPER SHIFT, l, movewindow, r
|
||||
bind = SUPER SHIFT, k, movewindow, u
|
||||
bind = SUPER SHIFT, j ,movewindow, d
|
||||
bind = SUPER, h, movefocus, l
|
||||
bind = SUPER, l, movefocus, r
|
||||
bind = SUPER, k, movefocus, u
|
||||
bind = SUPER, j, movefocus, d
|
||||
|
||||
bind = SUPER, p, movecurrentworkspacetomonitor, r
|
||||
bind = SUPER, o, movecurrentworkspacetomonitor, l
|
||||
bind = SUPER SHIFT, h, movewindow, l
|
||||
bind = SUPER SHIFT, l, movewindow, r
|
||||
bind = SUPER SHIFT, k, movewindow, u
|
||||
bind = SUPER SHIFT, j ,movewindow, d
|
||||
|
||||
bind = SUPER, 1, workspace, 1
|
||||
bind = SUPER, p, movecurrentworkspacetomonitor, r
|
||||
bind = SUPER, o, movecurrentworkspacetomonitor, l
|
||||
|
||||
bindm=ALT,mouse:272,movewindow
|
||||
|
||||
bind = SUPER, 1, workspace, 1
|
||||
bind = SUPER, 2, workspace, 2
|
||||
bind = SUPER, 3, workspace, 3
|
||||
bind = SUPER, 4, workspace, 4
|
||||
|
|
10
hmModules/hyprland/hyprpaper.nix
Normal file
10
hmModules/hyprland/hyprpaper.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
let
|
||||
wallpaper = ./wallpaper.png;
|
||||
in {
|
||||
xdg.configFile."hypr/hyprpaper.conf".text = ''
|
||||
preload = ${wallpaper}
|
||||
wallpaper = eDP-1,${wallpaper}
|
||||
wallpaper = DP-1,${wallpaper}
|
||||
wallpaper = DP-2,${wallpaper}
|
||||
'';
|
||||
}
|
BIN
hmModules/hyprland/wallpaper.png
Normal file
BIN
hmModules/hyprland/wallpaper.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 718 KiB |
2
hmModules/hyprland/wallpaper.svg
Normal file
2
hmModules/hyprland/wallpaper.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 303 KiB |
|
@ -11,5 +11,5 @@
|
|||
};
|
||||
package = pkgs.pass.withExtensions (e: with e; [pass-otp]);
|
||||
};
|
||||
services.password-store-sync.enable = true;
|
||||
services.password-store-sync.enable = false; # FIXME this requires `pass` every 5 minutes that run `pinentry`
|
||||
}
|
||||
|
|
|
@ -5,12 +5,10 @@
|
|||
...
|
||||
}: {
|
||||
imports = [
|
||||
./waybar.nix
|
||||
./idle.nix
|
||||
./mako.nix
|
||||
./gammastep.nix
|
||||
# ../foot
|
||||
# ../alacritty
|
||||
../waybar
|
||||
../swayidle
|
||||
../mako
|
||||
../gammastep
|
||||
../kitty
|
||||
];
|
||||
config = {
|
||||
|
@ -36,8 +34,6 @@
|
|||
};
|
||||
};
|
||||
|
||||
services.swayidle.enable = true;
|
||||
|
||||
wayland = {
|
||||
windowManager.sway = let
|
||||
modifier = "Mod4";
|
||||
|
|
|
@ -1,4 +1,8 @@
|
|||
{pkgs, ...}: {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services.swayidle = let
|
||||
# Downgraded due to
|
||||
# https://github.com/mortie/swaylock-effects/issues/95
|
||||
|
@ -49,4 +53,7 @@
|
|||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Otherwise it will start only after Sway and will not work with Hyprland
|
||||
systemd.user.services.swayidle.Unit.PartOf = lib.mkForce [];
|
||||
}
|
|
@ -34,17 +34,16 @@
|
|||
"wlr/workspaces" = {
|
||||
all-outputs = true;
|
||||
disable-scroll-wraparound = true;
|
||||
active-only = true;
|
||||
format = "{icon}";
|
||||
# format = "{icon}";
|
||||
on-click = "activate";
|
||||
format-icons = {
|
||||
"1" = "";
|
||||
"2" = "";
|
||||
"3" = "";
|
||||
"9" = "ﬧ";
|
||||
urgent = "";
|
||||
};
|
||||
sort-by-number = true;
|
||||
# format-icons = {
|
||||
# "1" = "";
|
||||
# "2" = "";
|
||||
# "3" = "";
|
||||
# "9" = "ﬧ";
|
||||
# urgent = "";
|
||||
# };
|
||||
# sort-by-number = true;
|
||||
};
|
||||
|
||||
"wlr/mode" = {tooltip = false;};
|
|
@ -16,6 +16,7 @@
|
|||
"xfce"
|
||||
"battery"
|
||||
"printing"
|
||||
"wireguard-client"
|
||||
];
|
||||
|
||||
ccr.enable = true;
|
||||
|
@ -29,6 +30,11 @@
|
|||
"chrome"
|
||||
"udiskie"
|
||||
];
|
||||
packages = with pkgs; [
|
||||
remmina
|
||||
rdesktop
|
||||
freerdp
|
||||
];
|
||||
};
|
||||
|
||||
home-manager.users.mara = {
|
||||
|
|
|
@ -56,7 +56,6 @@
|
|||
"qutebrowser"
|
||||
"shell"
|
||||
"slack"
|
||||
"sway"
|
||||
"hyprland"
|
||||
"udiskie"
|
||||
"vscode"
|
||||
|
@ -71,6 +70,8 @@
|
|||
];
|
||||
packages = with pkgs; [
|
||||
comma
|
||||
dolphin-emu-beta
|
||||
sc-controller
|
||||
];
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
|
@ -114,6 +115,9 @@
|
|||
useXkbConfig = true; # use xkbOptions in tty.
|
||||
};
|
||||
|
||||
services.joycond.enable = true; #FIXME not here
|
||||
services.udev.packages = [pkgs.joycond];
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# services.xserver.enable = true;
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
fleetFlake,
|
||||
...
|
||||
}: {
|
||||
nix = {
|
||||
|
@ -39,18 +40,29 @@
|
|||
options = "--delete-older-than 30d";
|
||||
};
|
||||
|
||||
buildMachines = [
|
||||
{
|
||||
hostName = "rock5b.fleet";
|
||||
system = "aarch64-linux";
|
||||
maxJobs = 6;
|
||||
speedFactor = 1;
|
||||
supportedFeatures = ["nixos-test" "benchmark" "big-parallel" "kvm"];
|
||||
mandatoryFeatures = [];
|
||||
# sshKey = "/var/lib/hydra/queue-runner/.ssh/id_rsa";
|
||||
sshUser = "root";
|
||||
}
|
||||
];
|
||||
# buildMachines = [
|
||||
# {
|
||||
# hostName = "rock5b.fleet";
|
||||
# system = "aarch64-linux";
|
||||
# maxJobs = 6;
|
||||
# speedFactor = 1;
|
||||
# supportedFeatures = ["nixos-test" "benchmark" "big-parallel" "kvm"];
|
||||
# mandatoryFeatures = [];
|
||||
# # sshKey = "/var/lib/hydra/queue-runner/.ssh/id_rsa";
|
||||
# sshUser = "root";
|
||||
# }
|
||||
# ];
|
||||
distributedBuilds = true;
|
||||
|
||||
registry = lib.mkForce {
|
||||
nixpkgs.to = {
|
||||
type = "path";
|
||||
path = fleetFlake.inputs.nixpkgsUnstable;
|
||||
};
|
||||
n.to = {
|
||||
type = "path";
|
||||
path = fleetFlake.inputs.nixpkgsUnstable;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -10,6 +10,20 @@
|
|||
networking.nat.internalInterfaces = ["wg0"];
|
||||
networking.firewall = {
|
||||
allowedUDPPorts = [51820];
|
||||
interfaces.wg0 = {
|
||||
allowedUDPPortRanges = [
|
||||
{
|
||||
from = 0;
|
||||
to = 65535;
|
||||
}
|
||||
];
|
||||
allowedTCPPortRanges = [
|
||||
{
|
||||
from = 0;
|
||||
to = 65535;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
networking.wireguard.interfaces = {
|
||||
|
|
Loading…
Add table
Reference in a new issue