This commit is contained in:
parent
5f644d0ccd
commit
a394b9cefd
167 changed files with 2795 additions and 2122 deletions
|
@ -1,5 +1,5 @@
|
|||
{
|
||||
imports = [../email];
|
||||
imports = [ ../email ];
|
||||
config = {
|
||||
accounts.email.accounts = {
|
||||
autistici.aerc = {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.binance];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.binance ];
|
||||
}
|
||||
|
|
|
@ -1,18 +1,21 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.btop = {
|
||||
enable = true;
|
||||
settings = {
|
||||
update_ms = 100;
|
||||
theme_background = false;
|
||||
# color_theme = "${config.programs.btop.package}/share/btop/themes/dracula.theme";
|
||||
color_theme = let
|
||||
catppuccin-theme = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "btop";
|
||||
rev = "21b8d5956a8b07fa52519e3267fb3a2d2e693d17";
|
||||
hash = "sha256-UXeTypc15MhjgGUiCrDUZ40m32yH2o1N+rcrEgY6sME=";
|
||||
};
|
||||
in "${catppuccin-theme}/themes/catppuccin_mocha.theme";
|
||||
color_theme =
|
||||
let
|
||||
catppuccin-theme = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "btop";
|
||||
rev = "21b8d5956a8b07fa52519e3267fb3a2d2e693d17";
|
||||
hash = "sha256-UXeTypc15MhjgGUiCrDUZ40m32yH2o1N+rcrEgY6sME=";
|
||||
};
|
||||
in
|
||||
"${catppuccin-theme}/themes/catppuccin_mocha.theme";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.calibre];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.calibre ];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.chromium = {
|
||||
enable = true;
|
||||
package = pkgs.google-chrome;
|
||||
|
|
|
@ -1,15 +1,17 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [
|
||||
(let
|
||||
cura5 = pkgs.appimageTools.wrapType2 rec {
|
||||
name = "cura5";
|
||||
version = "5.8.0";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/Ultimaker/Cura/releases/download/${version}/UltiMaker-Cura-${version}-linux-X64.AppImage";
|
||||
hash = "sha256-EojVAe+o43W80ES5BY3QgGRTxztwS+B6kIOfJOtULOg=";
|
||||
(
|
||||
let
|
||||
cura5 = pkgs.appimageTools.wrapType2 rec {
|
||||
name = "cura5";
|
||||
version = "5.8.0";
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://github.com/Ultimaker/Cura/releases/download/${version}/UltiMaker-Cura-${version}-linux-X64.AppImage";
|
||||
hash = "sha256-EojVAe+o43W80ES5BY3QgGRTxztwS+B6kIOfJOtULOg=";
|
||||
};
|
||||
};
|
||||
};
|
||||
in
|
||||
in
|
||||
pkgs.writeScriptBin "cura" ''
|
||||
#! ${pkgs.bash}/bin/bash
|
||||
# AppImage version of Cura loses current working directory and treats all paths relateive to $HOME.
|
||||
|
@ -23,6 +25,7 @@
|
|||
args+=("$a")
|
||||
done
|
||||
QT_QPA_PLATFORM=xcb exec "${cura5}/bin/cura5" "''${args[@]}"
|
||||
'')
|
||||
''
|
||||
)
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.digikam];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.digikam ];
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.discord];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.discord ];
|
||||
home.file.".config/discord/settings.json".text = builtins.toJSON {
|
||||
SKIP_HOST_UPDATE = true;
|
||||
};
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.dolphin-emu];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.dolphin-emu ];
|
||||
}
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
# home.packages = [pkgs.schildichat-desktop];
|
||||
home.packages = [pkgs.element-desktop-wayland];
|
||||
home.packages = [ pkgs.element-desktop-wayland ];
|
||||
|
||||
systemd.user.services.element-desktop = {
|
||||
Install.WantedBy = ["graphical-session.target"];
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
||||
Unit = {
|
||||
Description = "Element";
|
||||
PartOf = ["graphical-session.target"];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
lib,
|
||||
age,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
ccrEmacs.enable = true;
|
||||
home.sessionVariables.EDITOR = lib.mkForce "emacsclient";
|
||||
systemd.user.services.emacs.Service.EnvironmentFile = age.secrets.chatgpt-token.path;
|
||||
|
|
|
@ -2,22 +2,25 @@
|
|||
pkgs,
|
||||
secrets,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.mbsync.enable = true;
|
||||
programs.msmtp.enable = true;
|
||||
services.mbsync.enable = true;
|
||||
|
||||
home.file.".config/aerc/stylesets" = let
|
||||
catppuccin-aerc = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "aerc";
|
||||
rev = "ca404a9f2d125ef12db40db663d43c9d94116a05";
|
||||
hash = "sha256-OWIkHsKFts/zkrDUtbBPXHVSrHL/F0v3LB1rnlFAKmE=";
|
||||
home.file.".config/aerc/stylesets" =
|
||||
let
|
||||
catppuccin-aerc = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "aerc";
|
||||
rev = "ca404a9f2d125ef12db40db663d43c9d94116a05";
|
||||
hash = "sha256-OWIkHsKFts/zkrDUtbBPXHVSrHL/F0v3LB1rnlFAKmE=";
|
||||
};
|
||||
in
|
||||
{
|
||||
source = "${catppuccin-aerc}/dist";
|
||||
recursive = true;
|
||||
};
|
||||
in {
|
||||
source = "${catppuccin-aerc}/dist";
|
||||
recursive = true;
|
||||
};
|
||||
|
||||
programs.aerc = {
|
||||
enable = true;
|
||||
|
@ -81,7 +84,9 @@
|
|||
"<Esc>" = ":clear<Enter>";
|
||||
};
|
||||
|
||||
"messages:folder=Drafts" = {"<Enter>" = ":recall<Enter>";};
|
||||
"messages:folder=Drafts" = {
|
||||
"<Enter>" = ":recall<Enter>";
|
||||
};
|
||||
|
||||
view = {
|
||||
"/" = ":toggle-key-passthrough<Enter>/";
|
||||
|
@ -164,8 +169,12 @@
|
|||
border-char-vertical = "┃";
|
||||
border-char-horizontal = "━";
|
||||
};
|
||||
viewer = {always-show-mime = true;};
|
||||
compose = {no-attachment-warning = "^[^>]*attach(ed|ment)";};
|
||||
viewer = {
|
||||
always-show-mime = true;
|
||||
};
|
||||
compose = {
|
||||
no-attachment-warning = "^[^>]*attach(ed|ment)";
|
||||
};
|
||||
triggers = {
|
||||
email-received = ''exec notify-send "New email from %n" "%s"'';
|
||||
};
|
||||
|
|
|
@ -2,14 +2,15 @@
|
|||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.wrapFirefox pkgs.firefox-unwrapped {
|
||||
extraPolicies = {
|
||||
ExtensionSettings = {};
|
||||
ExtensionSettings = { };
|
||||
};
|
||||
nativeMessagingHosts = [pkgs.tridactyl-native];
|
||||
nativeMessagingHosts = [ pkgs.tridactyl-native ];
|
||||
};
|
||||
profiles.${username} = {
|
||||
settings = {
|
||||
|
|
|
@ -6,51 +6,54 @@
|
|||
}:
|
||||
lib.mkMerge [
|
||||
{
|
||||
programs.foot = let
|
||||
catppuccin = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "foot";
|
||||
rev = "307611230661b7b1787feb7f9d122e851bae97e9";
|
||||
hash = "sha256-mkPYHDJtfdfDnqLr1YOjaBpn4lCceok36LrnkUkNIE4=";
|
||||
};
|
||||
in {
|
||||
enable = true;
|
||||
server.enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
login-shell = "yes";
|
||||
dpi-aware = "no";
|
||||
horizontal-letter-offset = "1";
|
||||
include = "${catppuccin}/themes/catppuccin-mocha.ini";
|
||||
font = let
|
||||
size = "13";
|
||||
in
|
||||
lib.concatStringsSep ", " [
|
||||
"Iosevka Comfy:size=${size}"
|
||||
"Symbols Nerd Font:size=${size}"
|
||||
"JoyPixels:size=${size}"
|
||||
];
|
||||
};
|
||||
cursor = {
|
||||
blink = true;
|
||||
};
|
||||
tweak = {
|
||||
overflowing-glyphs = true;
|
||||
programs.foot =
|
||||
let
|
||||
catppuccin = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "foot";
|
||||
rev = "307611230661b7b1787feb7f9d122e851bae97e9";
|
||||
hash = "sha256-mkPYHDJtfdfDnqLr1YOjaBpn4lCceok36LrnkUkNIE4=";
|
||||
};
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
server.enable = true;
|
||||
settings = {
|
||||
main = {
|
||||
term = "xterm-256color";
|
||||
login-shell = "yes";
|
||||
dpi-aware = "no";
|
||||
horizontal-letter-offset = "1";
|
||||
include = "${catppuccin}/themes/catppuccin-mocha.ini";
|
||||
font =
|
||||
let
|
||||
size = "13";
|
||||
in
|
||||
lib.concatStringsSep ", " [
|
||||
"Iosevka Comfy:size=${size}"
|
||||
"Symbols Nerd Font:size=${size}"
|
||||
"JoyPixels:size=${size}"
|
||||
];
|
||||
};
|
||||
cursor = {
|
||||
blink = true;
|
||||
};
|
||||
tweak = {
|
||||
overflowing-glyphs = true;
|
||||
};
|
||||
|
||||
key-bindings = {
|
||||
scrollback-up-page = "Control+Shift+k";
|
||||
scrollback-down-page = "Control+Shift+j";
|
||||
search-start = "Control+Shift+s";
|
||||
pipe-command-output = ''[sh -c 'f=$(mktemp); cat - > $f; footclient hx $f; rm $f'] Control+Shift+g'';
|
||||
};
|
||||
key-bindings = {
|
||||
scrollback-up-page = "Control+Shift+k";
|
||||
scrollback-down-page = "Control+Shift+j";
|
||||
search-start = "Control+Shift+s";
|
||||
pipe-command-output = ''[sh -c 'f=$(mktemp); cat - > $f; footclient hx $f; rm $f'] Control+Shift+g'';
|
||||
};
|
||||
|
||||
mouse = {
|
||||
hide-when-typing = "yes";
|
||||
mouse = {
|
||||
hide-when-typing = "yes";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
(lib.mkIf config.programs.fish.enable {
|
||||
programs.fish.functions = {
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
age,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
services.git-workspace = {
|
||||
enable = true;
|
||||
frequency = "04:00:00";
|
||||
|
|
|
@ -2,13 +2,18 @@
|
|||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
config = {
|
||||
name = "Andrea Ciceri";
|
||||
email = "andrea.ciceri@autistici.org";
|
||||
};
|
||||
in {
|
||||
imports = [../gitui ../lazygit];
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../gitui
|
||||
../lazygit
|
||||
];
|
||||
programs.git = {
|
||||
enable = true;
|
||||
package = pkgs.gitAndTools.gitFull;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{
|
||||
pkgs,
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
services.gnome-keyring = {
|
||||
enable = false; # Is this broken? https://github.com/nix-community/home-manager/issues/1454
|
||||
components = lib.mkForce [
|
||||
|
@ -12,7 +12,7 @@
|
|||
];
|
||||
};
|
||||
|
||||
home.packages = [pkgs.gcr]; # Needed in PATH
|
||||
home.packages = [ pkgs.gcr ]; # Needed in PATH
|
||||
|
||||
# Workaround
|
||||
wayland.windowManager.hyprland.extraConfig = ''
|
||||
|
|
|
@ -1,25 +1,31 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
services.gpg-agent = {
|
||||
enable = true;
|
||||
enableSshSupport = true;
|
||||
sshKeys = ["CE2FD0D9BECBD8876811714925066CC257413416"];
|
||||
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
|
||||
'';
|
||||
sshKeys = [ "CE2FD0D9BECBD8876811714925066CC257413416" ];
|
||||
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
|
||||
'';
|
||||
};
|
||||
|
||||
programs.gpg = {
|
||||
enable = true;
|
||||
settings = {};
|
||||
settings = { };
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
originalConfig = config.wayland.windowManager.hyprland.extraConfig;
|
||||
config = builtins.replaceStrings ["SUPER"] [""] originalConfig;
|
||||
in {
|
||||
config = builtins.replaceStrings [ "SUPER" ] [ "" ] originalConfig;
|
||||
in
|
||||
{
|
||||
systemd.user.services.headless-hyprland = {
|
||||
Unit.Description = "Headless Hyprland";
|
||||
Service = {
|
||||
|
|
|
@ -22,26 +22,26 @@
|
|||
language = [
|
||||
{
|
||||
name = "nix";
|
||||
language-servers = ["nixd"];
|
||||
language-servers = [ "nixd" ];
|
||||
}
|
||||
{
|
||||
name = "markdown";
|
||||
language-servers = ["zk"];
|
||||
language-servers = [ "zk" ];
|
||||
}
|
||||
{
|
||||
name = "typescript";
|
||||
language-servers = ["vtsls"];
|
||||
language-servers = [ "vtsls" ];
|
||||
}
|
||||
];
|
||||
language-server = {
|
||||
nixd.command = "nixd";
|
||||
vtsls = {
|
||||
command = "vtsls";
|
||||
args = ["--stdio"];
|
||||
args = [ "--stdio" ];
|
||||
};
|
||||
zk = {
|
||||
command = "zk";
|
||||
args = ["lsp"];
|
||||
args = [ "lsp" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
screenshotScript = pkgs.writeShellScriptBin "screenshot.sh" ''
|
||||
filename="$HOME/shots/$(date --iso-8601=seconds).png"
|
||||
coords="$(${pkgs.slurp}/bin/slurp)"
|
||||
|
@ -19,7 +20,8 @@
|
|||
fi
|
||||
fi
|
||||
'';
|
||||
in {
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
./hyprpaper.nix
|
||||
../waybar
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
let
|
||||
wallpaper = ./wallpaper.png;
|
||||
in {
|
||||
in
|
||||
{
|
||||
xdg.configFile."hypr/hyprpaper.conf".text = ''
|
||||
splash = false
|
||||
preload = ${wallpaper}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.kicad-small];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.kicad-small ];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ ... }:
|
||||
{
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.lazygit = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.lutris];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.lutris ];
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.monero-gui];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.monero-gui ];
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.moonlight-qt];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.moonlight-qt ];
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
# TODO: use upstream ytmusic when updated: https://github.com/OzymandiasTheGreat/mopidy-ytmusic/issues/68
|
||||
{pkgs, ...}: let
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
ytmusicapi = pkgs.python310Packages.buildPythonPackage rec {
|
||||
pname = "ytmusicapi";
|
||||
version = "0.24.0";
|
||||
|
@ -38,14 +39,20 @@
|
|||
python310Packages.pytube
|
||||
];
|
||||
|
||||
pythonImportsCheck = ["mopidy_ytmusic"];
|
||||
pythonImportsCheck = [ "mopidy_ytmusic" ];
|
||||
|
||||
doCheck = false;
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
services.mopidy = {
|
||||
enable = true;
|
||||
extensionPackages = [mopidy-ytmusic] ++ (with pkgs; [mopidy-mpd mopidy-mpris]);
|
||||
extensionPackages =
|
||||
[ mopidy-ytmusic ]
|
||||
++ (with pkgs; [
|
||||
mopidy-mpd
|
||||
mopidy-mpris
|
||||
]);
|
||||
settings = {
|
||||
mpd = {
|
||||
enabled = true;
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.nheko];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.nheko ];
|
||||
|
||||
# systemd.user.services.nheko = {
|
||||
# Install.WantedBy = ["graphical-session.target"];
|
||||
|
|
|
@ -1,14 +1,15 @@
|
|||
{
|
||||
config,
|
||||
pkgs,
|
||||
fleetFlake,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.nix-index.enable = true;
|
||||
|
||||
systemd.user.services.nix-index-update = {
|
||||
Unit = {Description = "Update nix-index";};
|
||||
Unit = {
|
||||
Description = "Update nix-index";
|
||||
};
|
||||
|
||||
Service = {
|
||||
CPUSchedulingPolicy = "idle";
|
||||
|
@ -18,7 +19,9 @@
|
|||
};
|
||||
|
||||
systemd.user.timers.nix-index-update = {
|
||||
Unit = {Description = "Update nix-index";};
|
||||
Unit = {
|
||||
Description = "Update nix-index";
|
||||
};
|
||||
|
||||
Timer = {
|
||||
Unit = "nix-index-update.service";
|
||||
|
@ -26,6 +29,8 @@
|
|||
Persistent = true;
|
||||
};
|
||||
|
||||
Install = {WantedBy = ["timers.target"];};
|
||||
Install = {
|
||||
WantedBy = [ "timers.target" ];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [wlrobs input-overlay];
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
input-overlay
|
||||
];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.openscad];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.openscad ];
|
||||
}
|
||||
|
|
|
@ -9,5 +9,5 @@
|
|||
};
|
||||
};
|
||||
};
|
||||
systemd.user.services.pantalaimon.Unit.Requires = ["dbus.socket"];
|
||||
systemd.user.services.pantalaimon.Unit.Requires = [ "dbus.socket" ];
|
||||
}
|
||||
|
|
|
@ -2,12 +2,13 @@
|
|||
pkgs,
|
||||
username,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.password-store = {
|
||||
enable = true;
|
||||
settings = {
|
||||
PASSWORD_STORE_DIR = "/home/${username}/.password-store";
|
||||
};
|
||||
package = pkgs.pass.withExtensions (e: [e.pass-otp]);
|
||||
package = pkgs.pass.withExtensions (e: [ e.pass-otp ]);
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
pkgs,
|
||||
config,
|
||||
...
|
||||
}: let
|
||||
}:
|
||||
let
|
||||
inherit (config.programs.qutebrowser) settings;
|
||||
websites = {
|
||||
searx = "https://searx.be";
|
||||
|
@ -16,7 +17,8 @@
|
|||
less-dark-white = "#cccccc";
|
||||
blue = "#0000ff";
|
||||
};
|
||||
in {
|
||||
in
|
||||
{
|
||||
programs.qutebrowser = {
|
||||
enable = true;
|
||||
searchEngines = with websites; {
|
||||
|
@ -41,7 +43,7 @@ in {
|
|||
auto_save.session = true;
|
||||
url = with websites; {
|
||||
default_page = searx;
|
||||
start_pages = [searx];
|
||||
start_pages = [ searx ];
|
||||
};
|
||||
editor.command = [
|
||||
"emacsclient"
|
||||
|
@ -108,15 +110,13 @@ in {
|
|||
};
|
||||
home.packages = with pkgs; [
|
||||
fuzzel
|
||||
(
|
||||
makeDesktopItem {
|
||||
name = "qutebrowser";
|
||||
exec = "qutebrowser %u";
|
||||
comment = "Qutebrowser";
|
||||
desktopName = "qutebrowser";
|
||||
type = "Application";
|
||||
mimeTypes = ["x-scheme-handler/https"];
|
||||
}
|
||||
)
|
||||
(makeDesktopItem {
|
||||
name = "qutebrowser";
|
||||
exec = "qutebrowser %u";
|
||||
comment = "Qutebrowser";
|
||||
desktopName = "qutebrowser";
|
||||
type = "Application";
|
||||
mimeTypes = [ "x-scheme-handler/https" ];
|
||||
})
|
||||
];
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: let
|
||||
{ pkgs, ... }:
|
||||
let
|
||||
reinstall-magisk-on-lineage = pkgs.stdenv.mkDerivation {
|
||||
name = "reinstall-magisk-on-lineage";
|
||||
version = "git";
|
||||
|
@ -21,6 +22,7 @@
|
|||
--replace-fail "paste_yours_here" "\"\$1\""
|
||||
'';
|
||||
};
|
||||
in {
|
||||
home.packages = [reinstall-magisk-on-lineage];
|
||||
in
|
||||
{
|
||||
home.packages = [ reinstall-magisk-on-lineage ];
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.remmina];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.remmina ];
|
||||
}
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
age,
|
||||
hostname,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.bat.enable = true;
|
||||
|
||||
programs.direnv = {
|
||||
|
@ -31,7 +32,9 @@
|
|||
|
||||
systemd.user.services.atuind = {
|
||||
Unit.Description = "Atuin daemon";
|
||||
Install = {WantedBy = ["default.target"];};
|
||||
Install = {
|
||||
WantedBy = [ "default.target" ];
|
||||
};
|
||||
Service.ExecStart = "${lib.getExe pkgs.atuin} daemon";
|
||||
};
|
||||
|
||||
|
@ -116,25 +119,29 @@
|
|||
xdg.configFile = {
|
||||
"dracula-theme" = {
|
||||
target = "fish/themes/dracula.theme";
|
||||
source = let
|
||||
theme = pkgs.fetchFromGitHub {
|
||||
owner = "dracula";
|
||||
repo = "fish";
|
||||
rev = "269cd7d76d5104fdc2721db7b8848f6224bdf554";
|
||||
hash = "sha256-Hyq4EfSmWmxwCYhp3O8agr7VWFAflcUe8BUKh50fNfY=";
|
||||
};
|
||||
in "${theme}/themes/Dracula\ Official.theme";
|
||||
source =
|
||||
let
|
||||
theme = pkgs.fetchFromGitHub {
|
||||
owner = "dracula";
|
||||
repo = "fish";
|
||||
rev = "269cd7d76d5104fdc2721db7b8848f6224bdf554";
|
||||
hash = "sha256-Hyq4EfSmWmxwCYhp3O8agr7VWFAflcUe8BUKh50fNfY=";
|
||||
};
|
||||
in
|
||||
"${theme}/themes/Dracula\ Official.theme";
|
||||
};
|
||||
"catppuccin-theme" = {
|
||||
target = "fish/themes/Catppuccin\ Mocha.theme";
|
||||
source = let
|
||||
theme = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "fish";
|
||||
rev = "a3b9eb5eaf2171ba1359fe98f20d226c016568cf";
|
||||
hash = "sha256-shQxlyoauXJACoZWtRUbRMxmm10R8vOigXwjxBhG8ng=";
|
||||
};
|
||||
in "${theme}/themes/Catppuccin\ Mocha.theme";
|
||||
source =
|
||||
let
|
||||
theme = pkgs.fetchFromGitHub {
|
||||
owner = "catppuccin";
|
||||
repo = "fish";
|
||||
rev = "a3b9eb5eaf2171ba1359fe98f20d226c016568cf";
|
||||
hash = "sha256-shQxlyoauXJACoZWtRUbRMxmm10R8vOigXwjxBhG8ng=";
|
||||
};
|
||||
in
|
||||
"${theme}/themes/Catppuccin\ Mocha.theme";
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -227,7 +234,8 @@
|
|||
# '';
|
||||
# };
|
||||
|
||||
home.packages = with pkgs;
|
||||
home.packages =
|
||||
with pkgs;
|
||||
[
|
||||
thefuck
|
||||
htop-vim
|
||||
|
@ -240,12 +248,18 @@
|
|||
carapace # used by nushell
|
||||
neovim
|
||||
]
|
||||
++ (lib.optionals (builtins.elem hostname ["kirk" "picard"]) [
|
||||
nixd # TODO probably not the best place
|
||||
terraform-lsp # TODO probably not best place
|
||||
python3Packages.jedi-language-server # TODO probably not best place
|
||||
nodePackages.typescript-language-server # TODO probably not best place
|
||||
cntr # TODO probably not best place
|
||||
nom # FIXME disable on aarch64-linux, breaks everything :(
|
||||
]);
|
||||
++ (lib.optionals
|
||||
(builtins.elem hostname [
|
||||
"kirk"
|
||||
"picard"
|
||||
])
|
||||
[
|
||||
nixd # TODO probably not the best place
|
||||
terraform-lsp # TODO probably not best place
|
||||
python3Packages.jedi-language-server # TODO probably not best place
|
||||
nodePackages.typescript-language-server # TODO probably not best place
|
||||
cntr # TODO probably not best place
|
||||
nom # FIXME disable on aarch64-linux, breaks everything :(
|
||||
]
|
||||
);
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.slack];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.slack ];
|
||||
}
|
||||
|
|
|
@ -2,17 +2,19 @@
|
|||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
spotify-adblocked = pkgs.callPackage ../../packages/spotify-adblocked {};
|
||||
in {
|
||||
home.packages = [spotify-adblocked];
|
||||
}:
|
||||
let
|
||||
spotify-adblocked = pkgs.callPackage ../../packages/spotify-adblocked { };
|
||||
in
|
||||
{
|
||||
home.packages = [ spotify-adblocked ];
|
||||
|
||||
systemd.user.services.spotify-adblocked = {
|
||||
Install.WantedBy = ["graphical-session.target"];
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
||||
Unit = {
|
||||
Description = "Spotify";
|
||||
PartOf = ["graphical-session.target"];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.steam-run];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.steam-run ];
|
||||
}
|
||||
|
|
|
@ -3,7 +3,8 @@
|
|||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
imports = [
|
||||
../waybar
|
||||
../swayidle
|
||||
|
@ -12,7 +13,7 @@
|
|||
../kitty
|
||||
];
|
||||
config = {
|
||||
home.packages = with pkgs; [wl-clipboard];
|
||||
home.packages = with pkgs; [ wl-clipboard ];
|
||||
|
||||
systemd.user.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
|
@ -35,98 +36,100 @@
|
|||
};
|
||||
|
||||
wayland = {
|
||||
windowManager.sway = let
|
||||
modifier = "Mod4";
|
||||
in {
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
config = {
|
||||
inherit modifier;
|
||||
menu = "${pkgs.fuzzel}/bin/fuzzel --background-color=253559cc --border-radius=5 --border-width=0";
|
||||
output = let
|
||||
bg = "${./wallpaper.svg} fill";
|
||||
in {
|
||||
DP-2 = {
|
||||
res = "1900x1200";
|
||||
pos = "0 0";
|
||||
inherit bg;
|
||||
transform = "90";
|
||||
windowManager.sway =
|
||||
let
|
||||
modifier = "Mod4";
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
wrapperFeatures.gtk = true;
|
||||
config = {
|
||||
inherit modifier;
|
||||
menu = "${pkgs.fuzzel}/bin/fuzzel --background-color=253559cc --border-radius=5 --border-width=0";
|
||||
output =
|
||||
let
|
||||
bg = "${./wallpaper.svg} fill";
|
||||
in
|
||||
{
|
||||
DP-2 = {
|
||||
res = "1900x1200";
|
||||
pos = "0 0";
|
||||
inherit bg;
|
||||
transform = "90";
|
||||
};
|
||||
DP-1 = {
|
||||
res = "2560x1440";
|
||||
pos = "1200 230";
|
||||
inherit bg;
|
||||
};
|
||||
eDP-1 = {
|
||||
res = "1920x1080";
|
||||
pos = "3760 230";
|
||||
inherit bg;
|
||||
};
|
||||
};
|
||||
terminal = "${config.programs.kitty.package}/bin/kitty ${config.programs.kitty.package}/bin/kitty +kitten ssh mothership.fleet";
|
||||
bars = [
|
||||
{
|
||||
mode = "hide";
|
||||
position = "top";
|
||||
command = "${pkgs.waybar}/bin/waybar";
|
||||
}
|
||||
];
|
||||
gaps = {
|
||||
smartBorders = "on";
|
||||
};
|
||||
DP-1 = {
|
||||
res = "2560x1440";
|
||||
pos = "1200 230";
|
||||
inherit bg;
|
||||
assigns = {
|
||||
"1" = [
|
||||
{ title = ".*Mozilla Firefox$"; }
|
||||
{ title = ".*qutebrowser$"; }
|
||||
];
|
||||
"2" = [ { title = "^((?!qutebrowser-editor).)*Emacs$"; } ];
|
||||
"3" = [ { title = "Slack.*"; } ];
|
||||
"9" = [ { title = "^Element.*"; } ];
|
||||
};
|
||||
eDP-1 = {
|
||||
res = "1920x1080";
|
||||
pos = "3760 230";
|
||||
inherit bg;
|
||||
floating.criteria = [
|
||||
{ title = "MetaMask Notification.*"; }
|
||||
{ title = "Volume Control"; } # pavucontrol
|
||||
{ title = "^.*editor - qutebrowser$"; } # Emacs opened by qutebrowser
|
||||
];
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "us";
|
||||
xkb_variant = "altgr-intl";
|
||||
};
|
||||
};
|
||||
keybindings =
|
||||
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
|
||||
lib.mkOptionDefault {
|
||||
"${modifier}+x" = "exec emacsclient -c";
|
||||
"${modifier}+y" = "exec ${pkgs.waypipe}/bin/waypipe --compress lz4=10 ssh mothership.fleet emacsclient -c";
|
||||
"${modifier}+b" = "exec qutebrowser";
|
||||
"${modifier}+s" = "exec ${screenshotScript}";
|
||||
# "${modifier}+g" = "exec ${screenrecordingScript}"; # FIXME
|
||||
"${modifier}+t" = ''
|
||||
exec emacsclient -c -F "\'(name . \\"VTerm\\"))" -q --eval '(vterm (getenv "SHELL"))'
|
||||
'';
|
||||
"${modifier}+u" = ''
|
||||
exec ${pkgs.waypipe}/bin/waypipe --compress lz4=10 ssh mothership.fleet emacsclient -c -F "\'(name . \\"VTerm\\"))" -q --eval '(eat (getenv "SHELL"))'
|
||||
'';
|
||||
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl s +5%";
|
||||
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl s 5%-";
|
||||
};
|
||||
};
|
||||
terminal = "${config.programs.kitty.package}/bin/kitty ${config.programs.kitty.package}/bin/kitty +kitten ssh mothership.fleet";
|
||||
bars = [
|
||||
{
|
||||
mode = "hide";
|
||||
position = "top";
|
||||
command = "${pkgs.waybar}/bin/waybar";
|
||||
}
|
||||
];
|
||||
gaps = {
|
||||
smartBorders = "on";
|
||||
};
|
||||
assigns = {
|
||||
"1" = [{title = ".*Mozilla Firefox$";} {title = ".*qutebrowser$";}];
|
||||
"2" = [{title = "^((?!qutebrowser-editor).)*Emacs$";}];
|
||||
"3" = [{title = "Slack.*";}];
|
||||
"9" = [{title = "^Element.*";}];
|
||||
};
|
||||
floating.criteria = [
|
||||
{title = "MetaMask Notification.*";}
|
||||
{title = "Volume Control";} # pavucontrol
|
||||
{title = "^.*editor - qutebrowser$";} # Emacs opened by qutebrowser
|
||||
];
|
||||
input = {
|
||||
"*" = {
|
||||
xkb_layout = "us";
|
||||
xkb_variant = "altgr-intl";
|
||||
};
|
||||
};
|
||||
keybindings = 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
|
||||
'';
|
||||
screenrecordingScript = pkgs.writeShellScript "screenrecorder.sh" ''
|
||||
filename="$HOME/shots/recording-$(date --iso-8601=seconds).mp4"
|
||||
coords="$(${pkgs.slurp}/bin/slurp)"
|
||||
${pkgs.wf-recorder}/bin/wf-recorder -g "$coords" -f "$filename"
|
||||
wl-copy -t video/mp4 < $filename
|
||||
'';
|
||||
in
|
||||
lib.mkOptionDefault {
|
||||
"${modifier}+x" = "exec emacsclient -c";
|
||||
"${modifier}+y" = "exec ${pkgs.waypipe}/bin/waypipe --compress lz4=10 ssh mothership.fleet emacsclient -c";
|
||||
"${modifier}+b" = "exec qutebrowser";
|
||||
"${modifier}+s" = "exec ${screenshotScript}";
|
||||
# "${modifier}+g" = "exec ${screenrecordingScript}"; # FIXME
|
||||
"${modifier}+t" = ''
|
||||
exec emacsclient -c -F "\'(name . \\"VTerm\\"))" -q --eval '(vterm (getenv "SHELL"))'
|
||||
'';
|
||||
"${modifier}+u" = ''
|
||||
exec ${pkgs.waypipe}/bin/waypipe --compress lz4=10 ssh mothership.fleet emacsclient -c -F "\'(name . \\"VTerm\\"))" -q --eval '(eat (getenv "SHELL"))'
|
||||
'';
|
||||
"XF86MonBrightnessUp" = "exec ${pkgs.brightnessctl}/bin/brightnessctl s +5%";
|
||||
"XF86MonBrightnessDown" = "exec ${pkgs.brightnessctl}/bin/brightnessctl s 5%-";
|
||||
};
|
||||
extraConfig = ''
|
||||
bindsym ${modifier}+p move workspace to output right
|
||||
'';
|
||||
xwayland = true;
|
||||
systemdIntegration = true;
|
||||
};
|
||||
extraConfig = ''
|
||||
bindsym ${modifier}+p move workspace to output right
|
||||
'';
|
||||
xwayland = true;
|
||||
systemdIntegration = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,53 +2,56 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
services.swayidle = let
|
||||
swaylockWithArgs = pkgs.writeScriptBin "swaylockWithArgs" ''
|
||||
${pkgs.swaylock-effects}/bin/swaylock \
|
||||
--daemonize \
|
||||
--screenshots \
|
||||
--clock \
|
||||
--indicator \
|
||||
--indicator-radius 100 \
|
||||
--indicator-thickness 7 \
|
||||
--effect-blur 7x5 \
|
||||
--effect-vignette 0.5:0.5 \
|
||||
--ring-color bb00cc \
|
||||
--key-hl-color 880033 \
|
||||
--line-color 00000000 \
|
||||
--inside-color 00000088 \
|
||||
--separator-color 00000000 \
|
||||
--fade-in 0.2
|
||||
'';
|
||||
swaylockCommand = "${swaylockWithArgs}/bin/swaylockWithArgs";
|
||||
in {
|
||||
enable = true;
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = swaylockCommand;
|
||||
}
|
||||
{
|
||||
event = "lock";
|
||||
command = swaylockCommand;
|
||||
}
|
||||
];
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 600;
|
||||
command = swaylockCommand;
|
||||
}
|
||||
{
|
||||
timeout = 720;
|
||||
command = "${pkgs.systemd}/bin/systemctl suspend";
|
||||
}
|
||||
];
|
||||
};
|
||||
}:
|
||||
{
|
||||
services.swayidle =
|
||||
let
|
||||
swaylockWithArgs = pkgs.writeScriptBin "swaylockWithArgs" ''
|
||||
${pkgs.swaylock-effects}/bin/swaylock \
|
||||
--daemonize \
|
||||
--screenshots \
|
||||
--clock \
|
||||
--indicator \
|
||||
--indicator-radius 100 \
|
||||
--indicator-thickness 7 \
|
||||
--effect-blur 7x5 \
|
||||
--effect-vignette 0.5:0.5 \
|
||||
--ring-color bb00cc \
|
||||
--key-hl-color 880033 \
|
||||
--line-color 00000000 \
|
||||
--inside-color 00000088 \
|
||||
--separator-color 00000000 \
|
||||
--fade-in 0.2
|
||||
'';
|
||||
swaylockCommand = "${swaylockWithArgs}/bin/swaylockWithArgs";
|
||||
in
|
||||
{
|
||||
enable = true;
|
||||
events = [
|
||||
{
|
||||
event = "before-sleep";
|
||||
command = swaylockCommand;
|
||||
}
|
||||
{
|
||||
event = "lock";
|
||||
command = swaylockCommand;
|
||||
}
|
||||
];
|
||||
timeouts = [
|
||||
{
|
||||
timeout = 600;
|
||||
command = swaylockCommand;
|
||||
}
|
||||
{
|
||||
timeout = 720;
|
||||
command = "${pkgs.systemd}/bin/systemctl suspend";
|
||||
}
|
||||
];
|
||||
};
|
||||
|
||||
# Otherwise it will start only after Sway and will not work with Hyprland
|
||||
systemd.user.services.swayidle = {
|
||||
Unit.PartOf = lib.mkForce [];
|
||||
Install.WantedBy = lib.mkForce ["hyprland-session.target"];
|
||||
Unit.PartOf = lib.mkForce [ ];
|
||||
Install.WantedBy = lib.mkForce [ "hyprland-session.target" ];
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.teams-for-linux];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.teams-for-linux ];
|
||||
}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
imports = [../email];
|
||||
imports = [ ../email ];
|
||||
config = {
|
||||
accounts.email.accounts = {
|
||||
autistici.thunderbird = {
|
||||
enable = true;
|
||||
profiles = ["default"];
|
||||
profiles = [ "default" ];
|
||||
};
|
||||
mlabs.thunderbird = {
|
||||
enable = true;
|
||||
profiles = ["default"];
|
||||
profiles = [ "default" ];
|
||||
};
|
||||
};
|
||||
programs.thunderbird = {
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.tor-browser];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.tor-browser ];
|
||||
}
|
||||
|
|
|
@ -2,11 +2,12 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = [pkgs.tremotesf];
|
||||
}:
|
||||
{
|
||||
home.packages = [ pkgs.tremotesf ];
|
||||
|
||||
systemd.user.services.tremotesf = {
|
||||
Install.WantedBy = ["graphical-session.target"];
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
||||
Unit = {
|
||||
Description = "tremotesf";
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
# For a few reasons sometimes I'm forced to use VSCode and I don't have time to nixifiy even its configuration.
|
||||
|
|
|
@ -2,7 +2,8 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.waybar = {
|
||||
enable = true;
|
||||
systemd.enable = true;
|
||||
|
@ -18,7 +19,7 @@
|
|||
"wlr/mode"
|
||||
"hyprland/workspaces"
|
||||
];
|
||||
modules-center = ["wlr/window"];
|
||||
modules-center = [ "wlr/window" ];
|
||||
modules-right = [
|
||||
"network"
|
||||
"tray"
|
||||
|
@ -46,9 +47,13 @@
|
|||
# sort-by-number = true;
|
||||
};
|
||||
|
||||
"wlr/mode" = {tooltip = false;};
|
||||
"wlr/mode" = {
|
||||
tooltip = false;
|
||||
};
|
||||
|
||||
"wlr/window" = {max_length = 50;};
|
||||
"wlr/window" = {
|
||||
max_length = 50;
|
||||
};
|
||||
tray = {
|
||||
spacing = 10;
|
||||
};
|
||||
|
@ -56,7 +61,13 @@
|
|||
format = "{capacity}% {icon}";
|
||||
format-alt = "{time} {icon}";
|
||||
format-charging = "{capacity}% ";
|
||||
format-icons = [" " " " " " " " " "];
|
||||
format-icons = [
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
];
|
||||
format-plugged = "{capacity}% ";
|
||||
states = {
|
||||
critical = 15;
|
||||
|
@ -71,7 +82,9 @@
|
|||
format = "{usage}% ";
|
||||
tooltip = false;
|
||||
};
|
||||
memory = {format = "{}% ";};
|
||||
memory = {
|
||||
format = "{}% ";
|
||||
};
|
||||
network = {
|
||||
interval = 1;
|
||||
format-alt = "{ifname}: {ipaddr}/{cidr}";
|
||||
|
@ -86,7 +99,11 @@
|
|||
format-bluetooth-muted = " {icon} {format_source}";
|
||||
format-icons = {
|
||||
car = "";
|
||||
default = [" " " " " "];
|
||||
default = [
|
||||
" "
|
||||
" "
|
||||
" "
|
||||
];
|
||||
handsfree = "";
|
||||
headphones = " ";
|
||||
headset = "";
|
||||
|
@ -98,23 +115,32 @@
|
|||
format-source-muted = "";
|
||||
on-click = "${pkgs.pavucontrol}/bin/pavucontrol";
|
||||
};
|
||||
"wlr/mode" = {format = ''<span style="italic">{}</span>'';};
|
||||
"wlr/mode" = {
|
||||
format = ''<span style="italic">{}</span>'';
|
||||
};
|
||||
temperature = {
|
||||
critical-threshold = 80;
|
||||
format = "{temperatureC}°C {icon}";
|
||||
format-icons = ["" "" ""];
|
||||
format-icons = [
|
||||
""
|
||||
""
|
||||
""
|
||||
];
|
||||
hwmon-path = "/sys/class/hwmon/hwmon2/temp1_input"; # picard FIXME
|
||||
# hwmon-path = "/sys/class/thermal/thermal_zone4/temp"; # thinkpad
|
||||
};
|
||||
backlight = {
|
||||
device = "ddcci2";
|
||||
format = "{percent}% {icon}";
|
||||
format-icons = [" " " "];
|
||||
format-icons = [
|
||||
" "
|
||||
" "
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# waybar needs the hyprctl binary in PATH when started in hyprland
|
||||
systemd.user.services.waybar.Service.Environment = "PATH=${lib.makeBinPath [pkgs.hyprland]}";
|
||||
systemd.user.services.waybar.Service.Environment = "PATH=${lib.makeBinPath [ pkgs.hyprland ]}";
|
||||
}
|
||||
|
|
|
@ -4,13 +4,14 @@
|
|||
vpn,
|
||||
hostname,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
systemd.user.services.wayvnc = {
|
||||
Install.WantedBy = ["graphical-session.target"];
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
||||
Unit = {
|
||||
Description = "WayVNC";
|
||||
PartOf = ["graphical-session.target"];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
|
|
|
@ -2,12 +2,12 @@
|
|||
pkgs,
|
||||
hostname,
|
||||
...
|
||||
}: {
|
||||
}:
|
||||
{
|
||||
programs.wezterm = {
|
||||
enable = true;
|
||||
package =
|
||||
if hostname == "pircard"
|
||||
then
|
||||
if hostname == "pircard" then
|
||||
(pkgs.wezterm.overrideAttrs (old: rec {
|
||||
pname = "wezterm";
|
||||
version = "20240406-cce0706";
|
||||
|
@ -24,43 +24,40 @@
|
|||
"xcb-imdkit-0.3.0" = "sha256-fTpJ6uNhjmCWv7dZqVgYuS2Uic36XNYTbqlaly5QBjI=";
|
||||
};
|
||||
};
|
||||
patches =
|
||||
(old.patches or [])
|
||||
++ [
|
||||
(pkgs.fetchpatch {
|
||||
# fix(wayland): ensure repaint event is sent in show
|
||||
url = "https://patch-diff.githubusercontent.com/raw/wez/wezterm/pull/5264.patch";
|
||||
hash = "sha256-c+frVaBEL0h3PJvNu3AW2iap+uUXBY8olbm7Wsxuh4Q=";
|
||||
})
|
||||
(pkgs.writeText
|
||||
"wezterm-remove_capabilities.patch"
|
||||
''
|
||||
diff --git a/window/src/os/wayland/seat.rs b/window/src/os/wayland/seat.rs
|
||||
index 3798f4259..e91591130 100644
|
||||
--- a/window/src/os/wayland/seat.rs
|
||||
+++ b/window/src/os/wayland/seat.rs
|
||||
@@ -65,9 +65,15 @@ impl SeatHandler for WaylandState {
|
||||
_conn: &Connection,
|
||||
_qh: &QueueHandle<Self>,
|
||||
_seat: WlSeat,
|
||||
- _capability: smithay_client_toolkit::seat::Capability,
|
||||
+ capability: smithay_client_toolkit::seat::Capability,
|
||||
) {
|
||||
- todo!()
|
||||
+ if capability == Capability::Keyboard && self.keyboard.is_some() {
|
||||
+ self.keyboard.take().unwrap().release();
|
||||
+ }
|
||||
+
|
||||
+ if capability == Capability::Pointer && self.pointer.is_some() {
|
||||
+ self.pointer = None;
|
||||
+ }
|
||||
}
|
||||
patches = (old.patches or [ ]) ++ [
|
||||
(pkgs.fetchpatch {
|
||||
# fix(wayland): ensure repaint event is sent in show
|
||||
url = "https://patch-diff.githubusercontent.com/raw/wez/wezterm/pull/5264.patch";
|
||||
hash = "sha256-c+frVaBEL0h3PJvNu3AW2iap+uUXBY8olbm7Wsxuh4Q=";
|
||||
})
|
||||
(pkgs.writeText "wezterm-remove_capabilities.patch" ''
|
||||
diff --git a/window/src/os/wayland/seat.rs b/window/src/os/wayland/seat.rs
|
||||
index 3798f4259..e91591130 100644
|
||||
--- a/window/src/os/wayland/seat.rs
|
||||
+++ b/window/src/os/wayland/seat.rs
|
||||
@@ -65,9 +65,15 @@ impl SeatHandler for WaylandState {
|
||||
_conn: &Connection,
|
||||
_qh: &QueueHandle<Self>,
|
||||
_seat: WlSeat,
|
||||
- _capability: smithay_client_toolkit::seat::Capability,
|
||||
+ capability: smithay_client_toolkit::seat::Capability,
|
||||
) {
|
||||
- todo!()
|
||||
+ if capability == Capability::Keyboard && self.keyboard.is_some() {
|
||||
+ self.keyboard.take().unwrap().release();
|
||||
+ }
|
||||
+
|
||||
+ if capability == Capability::Pointer && self.pointer.is_some() {
|
||||
+ self.pointer = None;
|
||||
+ }
|
||||
}
|
||||
|
||||
fn remove_seat(&mut self, _conn: &Connection, _qh: &QueueHandle<Self>, _seat: WlSeat) {
|
||||
'')
|
||||
];
|
||||
fn remove_seat(&mut self, _conn: &Connection, _qh: &QueueHandle<Self>, _seat: WlSeat) {
|
||||
'')
|
||||
];
|
||||
}))
|
||||
else pkgs.wezterm;
|
||||
else
|
||||
pkgs.wezterm;
|
||||
|
||||
extraConfig = ''
|
||||
return {
|
||||
|
|
|
@ -1,12 +1,13 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.whatsapp-for-linux];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.whatsapp-for-linux ];
|
||||
|
||||
systemd.user.services.whatsapp = {
|
||||
Install.WantedBy = ["graphical-session.target"];
|
||||
Install.WantedBy = [ "graphical-session.target" ];
|
||||
|
||||
Unit = {
|
||||
Description = "Whatsapp";
|
||||
PartOf = ["graphical-session.target"];
|
||||
PartOf = [ "graphical-session.target" ];
|
||||
};
|
||||
|
||||
Service = {
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
winetricks
|
||||
wineWowPackages.waylandFull
|
||||
|
|
|
@ -1,11 +1,12 @@
|
|||
{pkgs, ...}: {
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
xdg = {
|
||||
enable = true;
|
||||
mimeApps.enable = true;
|
||||
mimeApps.defaultApplications = {
|
||||
"text/html" = ["firefox.desktop"];
|
||||
"x-scheme-handler/http" = ["firefox.desktop"];
|
||||
"x-scheme-handler/https" = ["firefox.desktop"];
|
||||
"text/html" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/http" = [ "firefox.desktop" ];
|
||||
"x-scheme-handler/https" = [ "firefox.desktop" ];
|
||||
};
|
||||
desktopEntries = {
|
||||
org-protocol = {
|
||||
|
@ -13,16 +14,20 @@
|
|||
genericName = "Org protocol";
|
||||
exec = "emacsclient -- %u";
|
||||
terminal = false;
|
||||
mimeType = ["x-scheme-handler/org-protocol"];
|
||||
mimeType = [ "x-scheme-handler/org-protocol" ];
|
||||
};
|
||||
firefox = {
|
||||
name = "firefox";
|
||||
genericName = "Firefox protocol";
|
||||
exec = "firefox -- %U";
|
||||
terminal = false;
|
||||
mimeType = ["text/html" "text/xml" "text/uri"];
|
||||
mimeType = [
|
||||
"text/html"
|
||||
"text/xml"
|
||||
"text/uri"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
home.packages = [pkgs.xdg-utils];
|
||||
home.packages = [ pkgs.xdg-utils ];
|
||||
}
|
||||
|
|
|
@ -2,11 +2,15 @@
|
|||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home.packages = [pkgs.zmkBATx];
|
||||
}:
|
||||
{
|
||||
home.packages = [ pkgs.zmkBATx ];
|
||||
|
||||
systemd.user.services.zmkBATx = {
|
||||
Install.WantedBy = ["graphical-session.target" "waybar.service"];
|
||||
Install.WantedBy = [
|
||||
"graphical-session.target"
|
||||
"waybar.service"
|
||||
];
|
||||
|
||||
Unit = {
|
||||
Description = "zmkBATx";
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
{pkgs, ...}: {
|
||||
home.packages = [pkgs.zulip];
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
home.packages = [ pkgs.zulip ];
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue