installed and ran alejandra as formatter
This commit is contained in:
parent
49452e89db
commit
8a1314b58f
47 changed files with 1362 additions and 1113 deletions
69
common.nix
69
common.nix
|
@ -1,12 +1,14 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
with lib;
|
||||
with builtins;
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}:
|
||||
with lib;
|
||||
with builtins; {
|
||||
nix = {
|
||||
package = pkgs.nixVersions.stable;
|
||||
extraOptions = ''
|
||||
|
@ -29,11 +31,45 @@ with builtins;
|
|||
systemPackages = with pkgs; [
|
||||
htmlq
|
||||
|
||||
wget git neofetch pciutils zip unzip gnutar iw btop nodejs jdk8 jdk11
|
||||
jdk libsecret gh nix-prefetch-scripts fzf glab ripgrep
|
||||
sl lolcat appimage-run git-crypt file whois p7zip file nmap cmatrix tree
|
||||
socat smartmontools mprocs
|
||||
dig aria2 usbutils numbat
|
||||
wget
|
||||
git
|
||||
neofetch
|
||||
pciutils
|
||||
zip
|
||||
unzip
|
||||
gnutar
|
||||
iw
|
||||
btop
|
||||
nodejs
|
||||
jdk8
|
||||
jdk11
|
||||
jdk
|
||||
libsecret
|
||||
gh
|
||||
nix-prefetch-scripts
|
||||
fzf
|
||||
glab
|
||||
ripgrep
|
||||
sl
|
||||
lolcat
|
||||
appimage-run
|
||||
git-crypt
|
||||
file
|
||||
whois
|
||||
p7zip
|
||||
file
|
||||
nmap
|
||||
cmatrix
|
||||
tree
|
||||
socat
|
||||
smartmontools
|
||||
mprocs
|
||||
dig
|
||||
aria2
|
||||
usbutils
|
||||
numbat
|
||||
|
||||
alejandra
|
||||
];
|
||||
};
|
||||
|
||||
|
@ -82,12 +118,16 @@ with builtins;
|
|||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
home-manager.users.jade = { nixosConfig, pkgs, ... }: {
|
||||
home-manager.users.jade = {
|
||||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
||||
};
|
||||
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
sudo = pkgs.sudo.override { withInsults = true; };
|
||||
sudo = pkgs.sudo.override {withInsults = true;};
|
||||
};
|
||||
security.sudo.extraConfig = "Defaults insults";
|
||||
|
||||
|
@ -95,7 +135,7 @@ with builtins;
|
|||
|
||||
hardware = {
|
||||
opengl.enable = true;
|
||||
uinput.enable = true;
|
||||
uinput.enable = true;
|
||||
bluetooth.enable = true;
|
||||
keyboard.uhk.enable = true;
|
||||
};
|
||||
|
@ -104,7 +144,7 @@ with builtins;
|
|||
|
||||
users.users.jade = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "input" "uinput" "libvirtd" "adbusers" "dialout" "plugdev" "wireshark" ];
|
||||
extraGroups = ["wheel" "input" "uinput" "libvirtd" "adbusers" "dialout" "plugdev" "wireshark"];
|
||||
packages = [
|
||||
pkgs.marksman
|
||||
];
|
||||
|
@ -117,4 +157,3 @@ with builtins;
|
|||
|
||||
users.defaultUserShell = pkgs.nushellFull;
|
||||
}
|
||||
|
||||
|
|
37
flake.nix
37
flake.nix
|
@ -24,7 +24,15 @@
|
|||
gumseite.url = "git+https://gitlab.com/schrottkatze/gum-schulsachen.git";
|
||||
};
|
||||
|
||||
outputs = { self, nixpkgs, nixpkgs-stable, home-manager, nixos-hardware, mac-brcm-fw, ... }@inputs: {
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
nixpkgs-stable,
|
||||
home-manager,
|
||||
nixos-hardware,
|
||||
mac-brcm-fw,
|
||||
...
|
||||
} @ inputs: {
|
||||
nixosConfigurations = {
|
||||
monosodium-glutamate-g = nixpkgs.lib.nixosSystem {
|
||||
specialArgs = {
|
||||
|
@ -33,10 +41,15 @@
|
|||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/monosodium-glutamate-g/configuration.nix
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.jade = { nixosConfig, pkgs, ... }: {
|
||||
home-manager.users.jade = {
|
||||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
||||
home.stateVersion = "${nixosConfig.system.stateVersion}";
|
||||
};
|
||||
|
@ -50,10 +63,15 @@
|
|||
system = "x86_64-linux";
|
||||
modules = [
|
||||
./hosts/catbook-j/configuration.nix
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.jade = { nixosConfig, pkgs, ... }: {
|
||||
home-manager.users.jade = {
|
||||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
||||
home.stateVersion = "22.11";
|
||||
};
|
||||
|
@ -68,10 +86,15 @@
|
|||
modules = [
|
||||
"${mac-brcm-fw}"
|
||||
./hosts/potatobook-g/configuration.nix
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.nixosModules.home-manager
|
||||
{
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.jade = { nixosConfig, pkgs, ... }: {
|
||||
home-manager.users.jade = {
|
||||
nixosConfig,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
home.sessionVariables.TZ = nixosConfig.time.timeZone;
|
||||
home.stateVersion = "${nixosConfig.system.stateVersion}";
|
||||
};
|
||||
|
|
|
@ -1,14 +1,18 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ config, pkgs, lib, ... }: {
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
../../common.nix
|
||||
../../modules
|
||||
];
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
../../common.nix
|
||||
../../modules
|
||||
];
|
||||
jade = {
|
||||
flatpak.enable = true;
|
||||
desktop = {
|
||||
|
@ -33,22 +37,22 @@
|
|||
|
||||
hardware.usb-modeswitch.enable = true;
|
||||
systemd.services."ModemManager".enable = true;
|
||||
systemd.services."ModemManager".wants = [ "NetworkManager.service" ];
|
||||
systemd.services."ModemManager".wantedBy = [ "multi-user.target" ];
|
||||
systemd.services."ModemManager".wants = ["NetworkManager.service"];
|
||||
systemd.services."ModemManager".wantedBy = ["multi-user.target"];
|
||||
|
||||
programs.wireshark.enable = true;
|
||||
|
||||
boot.resumeDevice = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
|
||||
boot.kernelParams = [ "resume_offset=7380652" ];
|
||||
boot.kernelParams = ["resume_offset=7380652"];
|
||||
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
services.xserver.libinput.touchpad.tapping = false;
|
||||
|
||||
environment.systemPackages = [ pkgs.vivaldi pkgs.vivaldi-ffmpeg-codecs pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark];
|
||||
environment.systemPackages = [pkgs.vivaldi pkgs.vivaldi-ffmpeg-codecs pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark];
|
||||
|
||||
# Bootloader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
|
@ -78,11 +82,11 @@
|
|||
# };
|
||||
|
||||
boot.kernelPackages = pkgs.linuxPackages_zen;
|
||||
# boot.kernelPatches = [
|
||||
# boot.kernelPatches = [
|
||||
# {
|
||||
# name = "fomx";
|
||||
# patch = ../../other/0001-fomx.patch;
|
||||
# }
|
||||
# }
|
||||
# ];
|
||||
|
||||
services.xserver.displayManager.autoLogin = {
|
||||
|
@ -119,5 +123,4 @@
|
|||
# Before changing this value read the documentation for this option
|
||||
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
|
||||
system.stateVersion = "23.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
|
|
@ -1,47 +1,53 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@" "compress=zstd:3" "noatime" ];
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=@" "compress=zstd:3" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@home" "compress=zstd:3" ];
|
||||
};
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=@home" "compress=zstd:3"];
|
||||
};
|
||||
|
||||
fileSystems."/swap" =
|
||||
{ device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@/@swap" "noatime" ];
|
||||
};
|
||||
fileSystems."/swap" = {
|
||||
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=@/@swap" "noatime"];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."luks-9cd75cce-6829-4db8-8c5c-a9fb9ec3e122".device = "/dev/disk/by-uuid/9cd75cce-6829-4db8-8c5c-a9fb9ec3e122";
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/C6CA-5DE8";
|
||||
fsType = "vfat";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/C6CA-5DE8";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [{
|
||||
device = "/swap/swapfile";
|
||||
size = (1024 * 24);
|
||||
}];
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/swap/swapfile";
|
||||
size = 1024 * 24;
|
||||
}
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page
|
||||
# and in the NixOS manual (accessible by running ‘nixos-help’).
|
||||
|
||||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../common.nix
|
||||
../../modules
|
||||
./hardware-configuration.nix
|
||||
../../common.nix
|
||||
../../modules
|
||||
];
|
||||
|
||||
# nixpkgs = {
|
||||
|
@ -44,35 +42,32 @@
|
|||
};
|
||||
boot = {
|
||||
loader = {
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
# latest linux kernel
|
||||
#boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
#boot.kernelPackages = pkgs.linux_zen_xeniafied;
|
||||
kernelPackages = pkgs.linuxPackages_zen;
|
||||
# boot.kernelPatches = [
|
||||
# boot.kernelPatches = [
|
||||
# {
|
||||
# name = "fomx";
|
||||
# patch = ../other/0001-fomx.patch;
|
||||
# }
|
||||
# }
|
||||
# ];
|
||||
|
||||
binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
binfmt.emulatedSystems = ["aarch64-linux"];
|
||||
};
|
||||
|
||||
networking.hostName = "monosodium-glutamate-g";
|
||||
services = {
|
||||
|
||||
# monitor control
|
||||
ddccontrol.enable = true;
|
||||
xserver = {
|
||||
|
||||
layout = "us";
|
||||
xkbVariant = "altgr-intl";
|
||||
enable = true;
|
||||
layout = "us";
|
||||
xkbVariant = "altgr-intl";
|
||||
enable = true;
|
||||
};
|
||||
|
||||
openssh.settings.PermitRootLogin = "without-password";
|
||||
|
@ -82,7 +77,6 @@
|
|||
gnome.gnome-keyring.enable = true;
|
||||
};
|
||||
hardware = {
|
||||
|
||||
bluetooth.enable = true;
|
||||
keyboard.uhk.enable = true;
|
||||
enableRedistributableFirmware = true;
|
||||
|
@ -96,10 +90,11 @@
|
|||
wireshark
|
||||
awesomebump
|
||||
|
||||
zenstates zenmonitor
|
||||
zenstates
|
||||
zenmonitor
|
||||
nvtop-amd
|
||||
radeontop
|
||||
rgp
|
||||
radeontop
|
||||
rgp
|
||||
tea
|
||||
blender-hip
|
||||
];
|
||||
|
@ -125,7 +120,7 @@
|
|||
systemd.services = {
|
||||
create-swapfile = {
|
||||
serviceConfig.Type = "oneshot";
|
||||
wantedBy = [ "swap-swapfile.swap" ];
|
||||
wantedBy = ["swap-swapfile.swap"];
|
||||
script = ''
|
||||
swapfile="/swap/swapfile"
|
||||
if [[ -f "$swapfile" ]]; then
|
||||
|
@ -142,6 +137,3 @@
|
|||
# release channel
|
||||
system.stateVersion = "22.05"; # Did you read the comment?
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -1,39 +1,45 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-amd"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@root" "compress=zstd:3" ];
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=@root" "compress=zstd:3"];
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=@home" "compress=zstd:3"];
|
||||
};
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=@home" "compress=zstd:3"];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/D63E-18C9";
|
||||
fsType = "vfat";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/D63E-18C9";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [{
|
||||
device = "/swap/swapfile";
|
||||
size = (1024 * 64) + (1024 * 8); # 72G
|
||||
} ];
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/swap/swapfile";
|
||||
size = (1024 * 64) + (1024 * 8); # 72G
|
||||
}
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
nix.settings = {
|
||||
trusted-substituters = [
|
||||
"https://t2linux.cachix.org"
|
||||
|
@ -8,37 +8,37 @@
|
|||
];
|
||||
};
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
../../common.nix
|
||||
../../modules
|
||||
#inputs.mms.module
|
||||
./hardware-configuration.nix
|
||||
../../common.nix
|
||||
../../modules
|
||||
#inputs.mms.module
|
||||
];
|
||||
|
||||
#nixpkgs = {
|
||||
#overlays = [
|
||||
#(self: super: {
|
||||
#linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override {
|
||||
#structuredExtraConfig = with lib.kernel; {
|
||||
##"FB" = yes;
|
||||
##"FRAMEBUFFER_CONSOLE" = yes;
|
||||
##"VGA_CONSOLE" = yes;
|
||||
##"VIDEO_SELECT" = yes;
|
||||
#LOGO = lib.mkForce yes;
|
||||
#LOGO_LINUX_CLUT224 = yes;
|
||||
#};
|
||||
#ignoreConfigErrors = true;
|
||||
#});
|
||||
#})
|
||||
#];
|
||||
#overlays = [
|
||||
#(self: super: {
|
||||
#linux_zen_xeniafied = pkgs.linuxPackagesFor (pkgs.linuxKernel.kernels.linux_zen.override {
|
||||
#structuredExtraConfig = with lib.kernel; {
|
||||
##"FB" = yes;
|
||||
##"FRAMEBUFFER_CONSOLE" = yes;
|
||||
##"VGA_CONSOLE" = yes;
|
||||
##"VIDEO_SELECT" = yes;
|
||||
#LOGO = lib.mkForce yes;
|
||||
#LOGO_LINUX_CLUT224 = yes;
|
||||
#};
|
||||
#boot.kernelPatches = [
|
||||
#{
|
||||
#name = "fomx";
|
||||
#patch = ../other/0001-fomx.patch;
|
||||
#}
|
||||
#ignoreConfigErrors = true;
|
||||
#});
|
||||
#})
|
||||
#];
|
||||
#};
|
||||
#boot.kernelPatches = [
|
||||
#{
|
||||
#name = "fomx";
|
||||
#patch = ../other/0001-fomx.patch;
|
||||
#}
|
||||
#];
|
||||
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
boot.binfmt.emulatedSystems = ["aarch64-linux"];
|
||||
|
||||
jade = {
|
||||
flatpak.enable = true;
|
||||
|
@ -57,9 +57,9 @@
|
|||
};
|
||||
|
||||
fileSystems = {
|
||||
"/".options = [ "compress=zstd:3" ];
|
||||
"/home".options = [ "compress=zstd:3" ];
|
||||
"/nix".options = [ "compress=zstd:3" "noatime" ];
|
||||
"/".options = ["compress=zstd:3"];
|
||||
"/home".options = ["compress=zstd:3"];
|
||||
"/nix".options = ["compress=zstd:3" "noatime"];
|
||||
#"/swap".options = [ "noatime" ];
|
||||
};
|
||||
|
||||
|
@ -70,9 +70,13 @@
|
|||
|
||||
networking.hostName = "potatobook-g";
|
||||
|
||||
|
||||
services.xserver = {
|
||||
resolutions = [ { x = 1920; y = 1200; } ];
|
||||
resolutions = [
|
||||
{
|
||||
x = 1920;
|
||||
y = 1200;
|
||||
}
|
||||
];
|
||||
# dpi = 180;
|
||||
layout = "us";
|
||||
xkbVariant = "altgr-intl";
|
||||
|
@ -95,9 +99,9 @@
|
|||
hardware.keyboard.uhk.enable = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
android-tools evremap
|
||||
android-tools
|
||||
evremap
|
||||
];
|
||||
|
||||
environment.pathsToLink = [
|
||||
|
@ -114,7 +118,7 @@
|
|||
|
||||
systemd.services."NetworkManager-wait-online".enable = false;
|
||||
|
||||
# services.pixiecore =
|
||||
# services.pixiecore =
|
||||
# let
|
||||
# nixpkgs = builtins.getFlake "nixpkgs/nixos-unstable";
|
||||
# sys = nixpkgs.lib.nixosSystem {
|
||||
|
@ -154,7 +158,7 @@
|
|||
systemd.services = {
|
||||
create-swapfile = {
|
||||
serviceConfig.Type = "oneshot";
|
||||
wantedBy = [ "swap-swapfile.swap" ];
|
||||
wantedBy = ["swap-swapfile.swap"];
|
||||
script = ''
|
||||
swapfile="/swap/swapfile"
|
||||
if [[ -f "$swapfile" ]]; then
|
||||
|
@ -175,5 +179,3 @@
|
|||
# i rly should put that important big comment back here
|
||||
system.stateVersion = "22.11"; # Did you read the comment?
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -1,45 +1,51 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "uas" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usbhid" "uas" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" ];
|
||||
};
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=root"];
|
||||
};
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" ];
|
||||
};
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=home"];
|
||||
};
|
||||
|
||||
fileSystems."/nix" =
|
||||
{ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" ];
|
||||
};
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=nix"];
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/5F66-17ED";
|
||||
fsType = "vfat";
|
||||
};
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/5F66-17ED";
|
||||
fsType = "vfat";
|
||||
};
|
||||
|
||||
swapDevices = [{
|
||||
device = "/swap/swapfile";
|
||||
size = (1024 * 12); # 12GB
|
||||
}];
|
||||
swapDevices = [
|
||||
{
|
||||
device = "/swap/swapfile";
|
||||
size = 1024 * 12; # 12GB
|
||||
}
|
||||
];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
{config, pkgs, ...}:
|
||||
{
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
|
||||
<nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
|
||||
./configuration.nix
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
{ ... }: {}
|
||||
|
||||
{...}: {}
|
||||
# dummy
|
||||
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
{ ... }:
|
||||
{
|
||||
imports = [
|
||||
{...}: {
|
||||
imports = [
|
||||
./shell
|
||||
./desktop
|
||||
./terminal.nix
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
programs = {
|
||||
noisetorch.enable = true;
|
||||
|
@ -15,19 +18,19 @@
|
|||
};
|
||||
hardware.pulseaudio.enable = pkgs.lib.mkForce false;
|
||||
sound.mediaKeys.enable = true;
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
pavucontrol
|
||||
pulseaudioFull
|
||||
easyeffects
|
||||
cava
|
||||
volumeicon
|
||||
pavucontrol
|
||||
pulseaudioFull
|
||||
easyeffects
|
||||
cava
|
||||
volumeicon
|
||||
playerctl
|
||||
];
|
||||
xsession.windowManager.i3.config.startup = [
|
||||
{
|
||||
command = "pkill volumeicon; volumeicon";
|
||||
always = true;
|
||||
{
|
||||
command = "pkill volumeicon; volumeicon";
|
||||
always = true;
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
@ -1,17 +1,22 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.jade.desktop.cloud;
|
||||
in with lib; {
|
||||
options.jade.desktop.cloud = {
|
||||
enable = mkEnableOption "Enable cloud things";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
fluent-reader
|
||||
bitwarden
|
||||
rofi-rbw
|
||||
];
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.cloud;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.cloud = {
|
||||
enable = mkEnableOption "Enable cloud things";
|
||||
};
|
||||
};
|
||||
}
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
fluent-reader
|
||||
bitwarden
|
||||
rofi-rbw
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.compositing;
|
||||
in with lib; {
|
||||
options.jade.desktop.compositing = {
|
||||
enable = mkEnableOption "Enable compositing with picom";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.picom = {
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.compositing = {
|
||||
enable = mkEnableOption "Enable compositing with picom";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.picom = {
|
||||
enable = true;
|
||||
backend = "glx";
|
||||
|
||||
shadow = true;
|
||||
shadowOffsets = [ (-40) (-30) ];
|
||||
shadowOffsets = [(-40) (-30)];
|
||||
shadowOpacity = 0.2;
|
||||
shadowExclude = [
|
||||
"class_g ?= 'Notify-osd'"
|
||||
|
@ -28,11 +32,11 @@ in with lib; {
|
|||
"fade-in-step" = 0.25;
|
||||
"fade-out-step" = 0.2;
|
||||
"fade-delta" = 20;
|
||||
"fade-exclude" = [ "class_g != 'Rofi'" ];
|
||||
"fade-exclude" = ["class_g != 'Rofi'"];
|
||||
# use damage information
|
||||
"use-damage" = true;
|
||||
"use-damage" = true;
|
||||
};
|
||||
};
|
||||
# }}}
|
||||
};
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
{ pkgs, ... }: {
|
||||
{pkgs, ...}: {
|
||||
fonts.packages = with pkgs; [
|
||||
(nerdfonts.override { fonts = [ "FiraCode" ]; })
|
||||
montserrat
|
||||
noto-fonts
|
||||
(nerdfonts.override {fonts = ["FiraCode"];})
|
||||
montserrat
|
||||
noto-fonts
|
||||
atkinson-hyperlegible
|
||||
arkpandora_ttf
|
||||
liberation_ttf
|
||||
|
@ -12,21 +12,21 @@
|
|||
ocr-a
|
||||
];
|
||||
fonts.fontDir.enable = true;
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
audacity
|
||||
krita
|
||||
audacity
|
||||
krita
|
||||
gimp-with-plugins
|
||||
inkscape-with-extensions
|
||||
obs-studio
|
||||
kdenlive
|
||||
fspy
|
||||
scribus
|
||||
inkscape-with-extensions
|
||||
obs-studio
|
||||
kdenlive
|
||||
fspy
|
||||
scribus
|
||||
|
||||
onlyoffice-bin
|
||||
typst
|
||||
|
||||
digikam
|
||||
digikam
|
||||
darktable
|
||||
rawtherapee
|
||||
];
|
||||
|
|
|
@ -1,139 +1,185 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
# window-screenshot = pkgs.writeTextFile "window-screenshot.nu" (builtins.readFile ../../other/scripts/desktop/window-screenshot.nu);
|
||||
window-screenshot = pkgs.writeShellScriptBin "window-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/window-screenshot.sh);
|
||||
# desktop-ctl = pkgs.writeShellScriptBin "desktop-ctl.sh" (builtins.readFile ../scripts/desktop/desktop-ctl.sh);
|
||||
desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix { inherit pkgs; };
|
||||
desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix {inherit pkgs;};
|
||||
# TODO: fix ocr screenshot script
|
||||
ocr-screenshot = pkgs.writeShellScriptBin "ocr-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/ocr-screenshot.sh);
|
||||
# rofi calculator copied from https://github.com/barbuk/menu-qalc
|
||||
menu-qalc = pkgs.writeShellScriptBin "menu-qalc" (builtins.readFile ../../other/scripts/desktop/menu-qalc.sh);
|
||||
in with lib; {
|
||||
imports = [
|
||||
./audio.nix
|
||||
./gaming.nix
|
||||
./creative.nix # TODO: more fine grained choices, not every setup needs fspy or rawtherapee
|
||||
./dunst.nix
|
||||
./compositing.nix
|
||||
./ios-compat.nix
|
||||
./syncthing.nix
|
||||
./kdeconnect.nix
|
||||
./themeing.nix
|
||||
./cloud.nix
|
||||
./networking.nix
|
||||
./polybar.nix
|
||||
./social.nix
|
||||
./mail.nix
|
||||
./specific-hardware
|
||||
./evremap.nix
|
||||
./xmonad.nix
|
||||
./firefox.nix
|
||||
];
|
||||
in
|
||||
with lib; {
|
||||
imports = [
|
||||
./audio.nix
|
||||
./gaming.nix
|
||||
./creative.nix # TODO: more fine grained choices, not every setup needs fspy or rawtherapee
|
||||
./dunst.nix
|
||||
./compositing.nix
|
||||
./ios-compat.nix
|
||||
./syncthing.nix
|
||||
./kdeconnect.nix
|
||||
./themeing.nix
|
||||
./cloud.nix
|
||||
./networking.nix
|
||||
./polybar.nix
|
||||
./social.nix
|
||||
./mail.nix
|
||||
./specific-hardware
|
||||
./evremap.nix
|
||||
./xmonad.nix
|
||||
./firefox.nix
|
||||
];
|
||||
|
||||
i18n.inputMethod = {
|
||||
i18n.inputMethod = {
|
||||
enabled = "fcitx5";
|
||||
fcitx5.addons = with pkgs; [
|
||||
fcitx5-mozc
|
||||
fcitx5-gtk
|
||||
fcitx5-mozc
|
||||
fcitx5-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
programs.seahorse.enable = true;
|
||||
security.pam.services.jade.enableGnomeKeyring = true;
|
||||
programs.seahorse.enable = true;
|
||||
security.pam.services.jade.enableGnomeKeyring = true;
|
||||
|
||||
virtualisation.libvirtd.enable = true;
|
||||
virtualisation.libvirtd.enable = true;
|
||||
|
||||
services = {
|
||||
printing.enable = true;
|
||||
gnome.gnome-keyring.enable = true;
|
||||
services = {
|
||||
printing.enable = true;
|
||||
gnome.gnome-keyring.enable = true;
|
||||
|
||||
xserver = {
|
||||
xserver = {
|
||||
enable = true;
|
||||
|
||||
layout = "us";
|
||||
xkbVariant = "altgr-intl";
|
||||
|
||||
libinput = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
desktopManager = {
|
||||
xterm.enable = false;
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
defaultSession = "none+xmonad";
|
||||
gdm.enable = true;
|
||||
};
|
||||
|
||||
windowManager.xmonad = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
programs.xss-lock = {
|
||||
enable = true;
|
||||
lockerCommand = "${pkgs.i3lock}/bin/i3lock";
|
||||
};
|
||||
|
||||
layout = "us";
|
||||
xkbVariant = "altgr-intl";
|
||||
services.illum.enable = true;
|
||||
services.avahi.enable = true;
|
||||
|
||||
libinput = {
|
||||
services.smartd = {
|
||||
enable = true;
|
||||
notifications.x11.enable = true;
|
||||
notifications.test = true;
|
||||
};
|
||||
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
programs.bat = {
|
||||
# TODO: more config
|
||||
enable = true;
|
||||
};
|
||||
|
||||
desktopManager = {
|
||||
xterm.enable = false;
|
||||
};
|
||||
|
||||
displayManager = {
|
||||
defaultSession = "none+xmonad";
|
||||
gdm.enable = true;
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
theme = ../../other/rofi-themes/applauncher.rasi;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
just
|
||||
bacon
|
||||
|
||||
windowManager.xmonad = {
|
||||
magic-wormhole-rs
|
||||
|
||||
yt-dlp
|
||||
|
||||
i3lock
|
||||
rofimoji
|
||||
feh
|
||||
xorg.xinput
|
||||
arandr
|
||||
flameshot
|
||||
tesseract5
|
||||
imagemagick
|
||||
xclip
|
||||
xmacro
|
||||
xorg.xev
|
||||
|
||||
syncplay
|
||||
|
||||
# filemanager
|
||||
xfce.thunar
|
||||
xfce.tumbler
|
||||
xfce.thunar-archive-plugin
|
||||
gnome.file-roller
|
||||
# media/file viewers
|
||||
vlc
|
||||
mpv
|
||||
evince
|
||||
nomacs
|
||||
|
||||
# from environment.systemPackages cleanup
|
||||
font-manager
|
||||
xdotool
|
||||
xorg.xwininfo
|
||||
gparted
|
||||
uhk-agent
|
||||
cool-retro-term
|
||||
xdg-desktop-portal-gtk
|
||||
obsidian
|
||||
zettlr
|
||||
virt-manager
|
||||
ddccontrol-db
|
||||
firebird-emu
|
||||
gitg
|
||||
gpick
|
||||
qdirstat
|
||||
ffmpeg_5
|
||||
|
||||
# external
|
||||
libnotify
|
||||
i3lock
|
||||
rofi
|
||||
rofimoji
|
||||
feh
|
||||
xorg.xinput
|
||||
arandr
|
||||
flameshot
|
||||
tesseract5
|
||||
imagemagick
|
||||
xclip
|
||||
kitty
|
||||
xmacro
|
||||
brightnessctl
|
||||
drawing
|
||||
libqalculate
|
||||
|
||||
# custom scripts
|
||||
window-screenshot
|
||||
desktop-ctl
|
||||
ocr-screenshot
|
||||
menu-qalc
|
||||
|
||||
# meow
|
||||
oneko
|
||||
];
|
||||
xsession = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
programs.xss-lock = {
|
||||
enable = true;
|
||||
lockerCommand = "${pkgs.i3lock}/bin/i3lock";
|
||||
};
|
||||
|
||||
services.illum.enable = true;
|
||||
services.avahi.enable = true;
|
||||
|
||||
services.smartd = {
|
||||
enable = true;
|
||||
notifications.x11.enable = true;
|
||||
notifications.test = true;
|
||||
};
|
||||
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
programs.bat = {
|
||||
# TODO: more config
|
||||
enable = true;
|
||||
};
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
theme = ../../other/rofi-themes/applauncher.rasi;
|
||||
};
|
||||
home.packages = with pkgs; [
|
||||
just bacon
|
||||
|
||||
magic-wormhole-rs
|
||||
|
||||
yt-dlp
|
||||
|
||||
i3lock rofimoji feh xorg.xinput arandr flameshot
|
||||
tesseract5 imagemagick xclip xmacro xorg.xev
|
||||
|
||||
syncplay
|
||||
|
||||
# filemanager
|
||||
xfce.thunar xfce.tumbler xfce.thunar-archive-plugin gnome.file-roller
|
||||
# media/file viewers
|
||||
vlc mpv evince nomacs
|
||||
|
||||
# from environment.systemPackages cleanup
|
||||
font-manager xdotool xorg.xwininfo gparted uhk-agent
|
||||
cool-retro-term xdg-desktop-portal-gtk obsidian zettlr virt-manager
|
||||
ddccontrol-db firebird-emu gitg gpick qdirstat ffmpeg_5
|
||||
|
||||
# external
|
||||
libnotify i3lock rofi rofimoji feh xorg.xinput arandr
|
||||
flameshot tesseract5 imagemagick xclip kitty xmacro
|
||||
brightnessctl drawing libqalculate
|
||||
|
||||
# custom scripts
|
||||
window-screenshot desktop-ctl
|
||||
ocr-screenshot menu-qalc
|
||||
|
||||
# meow
|
||||
oneko
|
||||
];
|
||||
xsession = {
|
||||
enable = true;
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ ... }: {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
{...}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
services.dunst = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
@ -7,7 +7,7 @@
|
|||
dmenu = "${pkgs.rofi}/bin/rofi -theme gruvbox-dark -dmenu -p dunst";
|
||||
browser = "${pkgs.librewolf}/bin/librewolf";
|
||||
mouse_left_click = "context";
|
||||
mouse_middle_click = "close_current";
|
||||
mouse_middle_click = "close_current";
|
||||
background = "#282828";
|
||||
foreground = "#ebdbb2";
|
||||
frame_color = "#504945";
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
{ pkgs, config, lib, ... }:
|
||||
let
|
||||
{
|
||||
pkgs,
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.evremap;
|
||||
evremap = pkgs.rustPlatform.buildRustPackage {
|
||||
pname = "evremap";
|
||||
|
@ -15,20 +19,21 @@ let
|
|||
postPatch = ''
|
||||
cp ${../../other/evremap.Cargo.lock} Cargo.lock
|
||||
'';
|
||||
nativeBuildInputs = [ pkgs.pkg-config ];
|
||||
buildInputs = [ pkgs.libevdev ];
|
||||
nativeBuildInputs = [pkgs.pkg-config];
|
||||
buildInputs = [pkgs.libevdev];
|
||||
};
|
||||
in with lib; {
|
||||
options.jade.desktop.evremap = {
|
||||
enable = mkEnableOption "Enable evremap";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.evremap = {
|
||||
script = "${evremap}/bin/evremap remap ${../../other/remaps-${config.networking.hostName}.toml}";
|
||||
wantedBy = [ "multi-user.target" ];
|
||||
unitConfig = {
|
||||
Restart = "on-failure";
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.evremap = {
|
||||
enable = mkEnableOption "Enable evremap";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
systemd.services.evremap = {
|
||||
script = "${evremap}/bin/evremap remap ${../../other/remaps-${config.networking.hostName}.toml}";
|
||||
wantedBy = ["multi-user.target"];
|
||||
unitConfig = {
|
||||
Restart = "on-failure";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,365 +1,397 @@
|
|||
{ ... }: {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home.file = {
|
||||
".tridactylrc" = {
|
||||
text = ''
|
||||
set editorcmd kitty hx %f +%l
|
||||
set newtab about:blank
|
||||
'';
|
||||
};
|
||||
};
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox.override {
|
||||
nativeMessagingHosts = [
|
||||
pkgs.tridactyl-native
|
||||
];
|
||||
};
|
||||
policies = {
|
||||
DefaultDownloadDirectory = "\${home}/Downloads";
|
||||
Extensions.Install = [
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/tridactyl-vim"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/gruvbox-dark-theme"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/torproject-snowflake"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/terms-of-service-didnt-read"
|
||||
];
|
||||
Extensions.Uninstall = [
|
||||
"google@search.mozilla.org"
|
||||
"bing@search.mozilla.org"
|
||||
"amazondotcom@search.mozilla.org"
|
||||
"ebay@search.mozilla.org"
|
||||
"twitter@search.mozilla.org"
|
||||
];
|
||||
"DisableFirefoxStudies" = true;
|
||||
"DisableTelemetry" = true;
|
||||
"DisableFeedbackCommands" = true;
|
||||
"DisablePocket" = true;
|
||||
};
|
||||
profiles.jade = {
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Toolbar";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Katzencafé";
|
||||
tags = [ "fedi" "social" ];
|
||||
keyword = "ck";
|
||||
url = "https://ck.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Mastodon.de";
|
||||
tags = [ "fedi" "social" ];
|
||||
keyword = "mde";
|
||||
url = "https://mastodon.de";
|
||||
}
|
||||
{
|
||||
name = "Nekoverse";
|
||||
tags = [ "fedi" "social" ];
|
||||
keyword = "neko";
|
||||
url = "https://social.nekover.se";
|
||||
}
|
||||
{
|
||||
name = "Katzenschmiede";
|
||||
tags = [ "fedi" "git" ];
|
||||
keyword = "forge";
|
||||
url = "https://forge.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Katzenwolke";
|
||||
tags = [ "cloud" ];
|
||||
keyword = "wolke";
|
||||
url = "https://wolke.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Penpot";
|
||||
tags = [ "design" ];
|
||||
keyword = "pp";
|
||||
url = "https://design.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Pad";
|
||||
tags = [ "pad" ];
|
||||
keyword = "pad";
|
||||
url = "https://pad.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Auth";
|
||||
tags = [ "keycloak" ];
|
||||
keyword = "auth";
|
||||
url = "https://auth.katzen.cafe/realms/katzen.cafe/account";
|
||||
}
|
||||
{
|
||||
name = "CCCHH";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Website";
|
||||
url = "https://hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Wiki";
|
||||
url = "https://wiki.ccchh.net";
|
||||
}
|
||||
{
|
||||
name = "Wiki (old)";
|
||||
url = "https://wiki.hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Wiki (nonpublic)";
|
||||
url = "https://nonpublic.wiki.hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Pads";
|
||||
url = "https://pad.hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Cloud";
|
||||
url = "https://cloud.hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Club Assistant";
|
||||
url = "https://club-assistant.ccchh.net";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
search = {
|
||||
force = true;
|
||||
default = "DuckDuckGo";
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "pkgs" ];
|
||||
};
|
||||
"Nix Options" = {
|
||||
urls = [{
|
||||
template = "https://search.nixos.org/options";
|
||||
params = [
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "opts" ];
|
||||
};
|
||||
"Home manager Options" = {
|
||||
urls = [{
|
||||
template = "https://mipmip.github.io/home-manager-option-search/";
|
||||
params = [
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "hm" ];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
urls = [{
|
||||
template = "https://nixos.wiki/index.php?title=Special:Search&search={searchTerms}&namespace=0";
|
||||
}];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = [ "nxwk" ];
|
||||
};
|
||||
"lib.rs" = {
|
||||
urls = [{
|
||||
template = "https://lib.rs/search";
|
||||
params = [
|
||||
{ name = "q"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "https://lib.rs/favicon.png";
|
||||
definedAliases = [ "libs" ];
|
||||
};
|
||||
"rust docs" = {
|
||||
urls = [{
|
||||
template = "https://docs.rs/releases/search";
|
||||
params = [
|
||||
{ name = "query"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "https://docs.rs/-/static/favicon.ico";
|
||||
definedAliases = [ "docs" ];
|
||||
};
|
||||
"rust std docs" = {
|
||||
urls = [{
|
||||
template = "https://docs.rust-lang.org/std/index.html";
|
||||
params = [
|
||||
{ name = "search"; value = "{searchTerms}"; }
|
||||
];
|
||||
}];
|
||||
icon = "https://doc.rust-lang.org/favicon.ico";
|
||||
definedAliases = [ "std" ];
|
||||
};
|
||||
"Bing".metaData.hidden = true;
|
||||
"Google".metaData.hidden = true;
|
||||
"Amazon.de".metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
"devtools.editor.keymap" = "vim";
|
||||
"devtools.toolbox.host" = "right";
|
||||
"webgl.disabled" = false;
|
||||
"image.jxl.enabled" = true;
|
||||
"browser.urlbar.decodeURLsOnCopy" = true;
|
||||
"browser.urlbar.unitConversion.enabled" = true;
|
||||
"browser.urlbar.suggest.calculator" = true;
|
||||
"browser.compactmode.show" = true;
|
||||
"browser.uidensity" = 1;
|
||||
"screenshots.browser.component.enabled" = true;
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.aboutwelcome.showModal" = false;
|
||||
"browser.aboutwelcome.enabled" = false;
|
||||
"browser.preferences.moreFromMozilla" = false;
|
||||
"identity.fxaccounts.enabled" = false;
|
||||
"browser.tabs.firefox-view" = false;
|
||||
"browser.tabs.firefox-view-next" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
|
||||
"privacy.trackingprotection.emailtracking.enabled" = true;
|
||||
"privacy.trackingprotection.enabled" = true;
|
||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||
{...}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.file = {
|
||||
".tridactylrc" = {
|
||||
text = ''
|
||||
set editorcmd kitty hx %f +%l
|
||||
set newtab about:blank
|
||||
'';
|
||||
};
|
||||
};
|
||||
programs.firefox = {
|
||||
enable = true;
|
||||
package = pkgs.firefox.override {
|
||||
nativeMessagingHosts = [
|
||||
pkgs.tridactyl-native
|
||||
];
|
||||
};
|
||||
policies = {
|
||||
DefaultDownloadDirectory = "\${home}/Downloads";
|
||||
Extensions.Install = [
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/ublock-origin"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/tridactyl-vim"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/privacy-badger17"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/gruvbox-dark-theme"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/torproject-snowflake"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/bitwarden-password-manager"
|
||||
"https://addons.mozilla.org/firefox/downloads/latest/terms-of-service-didnt-read"
|
||||
];
|
||||
Extensions.Uninstall = [
|
||||
"google@search.mozilla.org"
|
||||
"bing@search.mozilla.org"
|
||||
"amazondotcom@search.mozilla.org"
|
||||
"ebay@search.mozilla.org"
|
||||
"twitter@search.mozilla.org"
|
||||
];
|
||||
"DisableFirefoxStudies" = true;
|
||||
"DisableTelemetry" = true;
|
||||
"DisableFeedbackCommands" = true;
|
||||
"DisablePocket" = true;
|
||||
};
|
||||
profiles.jade = {
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Toolbar";
|
||||
toolbar = true;
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Katzencafé";
|
||||
tags = ["fedi" "social"];
|
||||
keyword = "ck";
|
||||
url = "https://ck.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Mastodon.de";
|
||||
tags = ["fedi" "social"];
|
||||
keyword = "mde";
|
||||
url = "https://mastodon.de";
|
||||
}
|
||||
{
|
||||
name = "Nekoverse";
|
||||
tags = ["fedi" "social"];
|
||||
keyword = "neko";
|
||||
url = "https://social.nekover.se";
|
||||
}
|
||||
{
|
||||
name = "Katzenschmiede";
|
||||
tags = ["fedi" "git"];
|
||||
keyword = "forge";
|
||||
url = "https://forge.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Katzenwolke";
|
||||
tags = ["cloud"];
|
||||
keyword = "wolke";
|
||||
url = "https://wolke.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Penpot";
|
||||
tags = ["design"];
|
||||
keyword = "pp";
|
||||
url = "https://design.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Pad";
|
||||
tags = ["pad"];
|
||||
keyword = "pad";
|
||||
url = "https://pad.katzen.cafe";
|
||||
}
|
||||
{
|
||||
name = "Auth";
|
||||
tags = ["keycloak"];
|
||||
keyword = "auth";
|
||||
url = "https://auth.katzen.cafe/realms/katzen.cafe/account";
|
||||
}
|
||||
{
|
||||
name = "CCCHH";
|
||||
bookmarks = [
|
||||
{
|
||||
name = "Website";
|
||||
url = "https://hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Wiki";
|
||||
url = "https://wiki.ccchh.net";
|
||||
}
|
||||
{
|
||||
name = "Wiki (old)";
|
||||
url = "https://wiki.hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Wiki (nonpublic)";
|
||||
url = "https://nonpublic.wiki.hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Pads";
|
||||
url = "https://pad.hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Cloud";
|
||||
url = "https://cloud.hamburg.ccc.de";
|
||||
}
|
||||
{
|
||||
name = "Club Assistant";
|
||||
url = "https://club-assistant.ccchh.net";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
search = {
|
||||
force = true;
|
||||
default = "DuckDuckGo";
|
||||
engines = {
|
||||
"Nix Packages" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/packages";
|
||||
params = [
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["pkgs"];
|
||||
};
|
||||
"Nix Options" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://search.nixos.org/options";
|
||||
params = [
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["opts"];
|
||||
};
|
||||
"Home manager Options" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://mipmip.github.io/home-manager-option-search/";
|
||||
params = [
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["hm"];
|
||||
};
|
||||
"NixOS Wiki" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://nixos.wiki/index.php?title=Special:Search&search={searchTerms}&namespace=0";
|
||||
}
|
||||
];
|
||||
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
|
||||
definedAliases = ["nxwk"];
|
||||
};
|
||||
"lib.rs" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://lib.rs/search";
|
||||
params = [
|
||||
{
|
||||
name = "q";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
icon = "https://lib.rs/favicon.png";
|
||||
definedAliases = ["libs"];
|
||||
};
|
||||
"rust docs" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://docs.rs/releases/search";
|
||||
params = [
|
||||
{
|
||||
name = "query";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
icon = "https://docs.rs/-/static/favicon.ico";
|
||||
definedAliases = ["docs"];
|
||||
};
|
||||
"rust std docs" = {
|
||||
urls = [
|
||||
{
|
||||
template = "https://docs.rust-lang.org/std/index.html";
|
||||
params = [
|
||||
{
|
||||
name = "search";
|
||||
value = "{searchTerms}";
|
||||
}
|
||||
];
|
||||
}
|
||||
];
|
||||
icon = "https://doc.rust-lang.org/favicon.ico";
|
||||
definedAliases = ["std"];
|
||||
};
|
||||
"Bing".metaData.hidden = true;
|
||||
"Google".metaData.hidden = true;
|
||||
"Amazon.de".metaData.hidden = true;
|
||||
};
|
||||
};
|
||||
settings = {
|
||||
"devtools.editor.keymap" = "vim";
|
||||
"devtools.toolbox.host" = "right";
|
||||
"webgl.disabled" = false;
|
||||
"image.jxl.enabled" = true;
|
||||
"browser.urlbar.decodeURLsOnCopy" = true;
|
||||
"browser.urlbar.unitConversion.enabled" = true;
|
||||
"browser.urlbar.suggest.calculator" = true;
|
||||
"browser.compactmode.show" = true;
|
||||
"browser.uidensity" = 1;
|
||||
"screenshots.browser.component.enabled" = true;
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
"browser.aboutwelcome.showModal" = false;
|
||||
"browser.aboutwelcome.enabled" = false;
|
||||
"browser.preferences.moreFromMozilla" = false;
|
||||
"identity.fxaccounts.enabled" = false;
|
||||
"browser.tabs.firefox-view" = false;
|
||||
"browser.tabs.firefox-view-next" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsored" = false;
|
||||
"browser.newtabpage.activity-stream.showSponsoredTopSites" = false;
|
||||
"browser.newtabpage.activity-stream.improvesearch.topSiteSearchShortcuts" = false;
|
||||
"privacy.trackingprotection.emailtracking.enabled" = true;
|
||||
"privacy.trackingprotection.enabled" = true;
|
||||
"privacy.trackingprotection.socialtracking.enabled" = true;
|
||||
|
||||
"geo.provider.network.logging.enabled" = true;
|
||||
"extensions.getAddons.showPane" = false;
|
||||
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
||||
"browser.discovery.enabled" = false;
|
||||
"browser.shopping.experience2023.enabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.server" = "data:,";
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
"toolkit.telemetry.updatePing.enabled" = false;
|
||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
"toolkit.telemetry.coverage.opt-out" = true;
|
||||
"toolkit.coverage.opt-out" = true;
|
||||
"toolkit.coverage.endpoint.base" = "";
|
||||
"browser.ping-centre.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"app.normandy.enabled" = false;
|
||||
"app.normandy.api_url" = "";
|
||||
"geo.provider.network.logging.enabled" = true;
|
||||
"extensions.getAddons.showPane" = false;
|
||||
"extensions.htmlaboutaddons.recommendations.enabled" = false;
|
||||
"browser.discovery.enabled" = false;
|
||||
"browser.shopping.experience2023.enabled" = false;
|
||||
"datareporting.policy.dataSubmissionEnabled" = false;
|
||||
"datareporting.healthreport.uploadEnabled" = false;
|
||||
"toolkit.telemetry.unified" = false;
|
||||
"toolkit.telemetry.enabled" = false;
|
||||
"toolkit.telemetry.server" = "data:,";
|
||||
"toolkit.telemetry.archive.enabled" = false;
|
||||
"toolkit.telemetry.newProfilePing.enabled" = false;
|
||||
"toolkit.telemetry.shutdownPingSender.enabled" = false;
|
||||
"toolkit.telemetry.updatePing.enabled" = false;
|
||||
"toolkit.telemetry.bhrPing.enabled" = false;
|
||||
"toolkit.telemetry.firstShutdownPing.enabled" = false;
|
||||
"toolkit.telemetry.coverage.opt-out" = true;
|
||||
"toolkit.coverage.opt-out" = true;
|
||||
"toolkit.coverage.endpoint.base" = "";
|
||||
"browser.ping-centre.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.feeds.telemetry" = false;
|
||||
"browser.newtabpage.activity-stream.telemetry" = false;
|
||||
"app.shield.optoutstudies.enabled" = false;
|
||||
"app.normandy.enabled" = false;
|
||||
"app.normandy.api_url" = "";
|
||||
|
||||
"browser.safebrowsing.malware.enabled" = false;
|
||||
"browser.safebrowsing.phishing.enabled" = false;
|
||||
"browser.safebrowsing.downloads.enabled" = false;
|
||||
"browser.safebrowsing.downloads.remote.enabled" = false;
|
||||
"browser.safebrowsing.downloads.remote.url" = "";
|
||||
"browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
|
||||
"browser.safebrowsing.downloads.remote.block_uncommon" = false;
|
||||
"browser.safebrowsing.allowOverride" = false;
|
||||
"browser.safebrowsing.malware.enabled" = false;
|
||||
"browser.safebrowsing.phishing.enabled" = false;
|
||||
"browser.safebrowsing.downloads.enabled" = false;
|
||||
"browser.safebrowsing.downloads.remote.enabled" = false;
|
||||
"browser.safebrowsing.downloads.remote.url" = "";
|
||||
"browser.safebrowsing.downloads.remote.block_potentially_unwanted" = false;
|
||||
"browser.safebrowsing.downloads.remote.block_uncommon" = false;
|
||||
"browser.safebrowsing.allowOverride" = false;
|
||||
|
||||
"network.prefetch-next" = false;
|
||||
"network.dns.disablePrefetch" = true;
|
||||
"network.dns.disablePrefetchFromHTTPS" = true;
|
||||
"network.predictor.enabled" = false;
|
||||
"network.predictor.enable-prefetch" = false;
|
||||
"network.http.speculative-parallel-limit" = 0;
|
||||
"browser.places.speculativeConnect.enabled" = false;
|
||||
"browser.send_pings" = false;
|
||||
"network.prefetch-next" = false;
|
||||
"network.dns.disablePrefetch" = true;
|
||||
"network.dns.disablePrefetchFromHTTPS" = true;
|
||||
"network.predictor.enabled" = false;
|
||||
"network.predictor.enable-prefetch" = false;
|
||||
"network.http.speculative-parallel-limit" = 0;
|
||||
"browser.places.speculativeConnect.enabled" = false;
|
||||
"browser.send_pings" = false;
|
||||
|
||||
"browser.urlbar.pocket.featureGate" = false;
|
||||
"browser.urlbar.weather.featureGate" = false;
|
||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||
"browser.search.suggest.enabled" = false;
|
||||
"browser.urlbar.suggest.searches" = false;
|
||||
"browser.urlbar.trending.featureGate" = false;
|
||||
"browser.urlbar.pocket.featureGate" = false;
|
||||
"browser.urlbar.weather.featureGate" = false;
|
||||
"browser.urlbar.speculativeConnect.enabled" = false;
|
||||
"browser.urlbar.suggest.quicksuggest.nonsponsored" = false;
|
||||
"browser.urlbar.suggest.quicksuggest.sponsored" = false;
|
||||
"browser.search.suggest.enabled" = false;
|
||||
"browser.urlbar.suggest.searches" = false;
|
||||
"browser.urlbar.trending.featureGate" = false;
|
||||
|
||||
"security.ssl.require_safe_negotiation" = true;
|
||||
"security.remote_settings.crlite_filters.enabled" = true;
|
||||
"security.pki.crlite_mode" = 2;
|
||||
"security.ssl.require_safe_negotiation" = true;
|
||||
"security.remote_settings.crlite_filters.enabled" = true;
|
||||
"security.pki.crlite_mode" = 2;
|
||||
|
||||
"dom.security.https_only_mode" = true;
|
||||
"dom.security.https_only_mode_pbm" = true;
|
||||
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
|
||||
"browser.xul.error_pages.expert_bad_cert" = true;
|
||||
"network.http.referer.XOriginTrimmingPolicy" = 2;
|
||||
"dom.security.https_only_mode" = true;
|
||||
"dom.security.https_only_mode_pbm" = true;
|
||||
"security.ssl.treat_unsafe_negotiation_as_broken" = true;
|
||||
"browser.xul.error_pages.expert_bad_cert" = true;
|
||||
"network.http.referer.XOriginTrimmingPolicy" = 2;
|
||||
|
||||
"privacy.userContext.enabled" = true;
|
||||
"privacy.userContext.ui.enabled" = true;
|
||||
"privacy.userContext.newTabContainerOnLeftClick.enabled" = true;
|
||||
|
||||
"dom.disable_window_move_resize" = true;
|
||||
|
||||
"browser.uitour.enabled" = false;
|
||||
|
||||
"browser.uitour.url" = "";
|
||||
"permissions.manager.defaultsUrl" = "";
|
||||
"webchannel.allowObject.urlWhitelist" = "";
|
||||
|
||||
"network.IDN_show_punycode" = true;
|
||||
"pdfjs.disabled" = false;
|
||||
"pdfjs.enableScripting" = false;
|
||||
"browser.tabs.searchclipboardfor.middleclick" = false;
|
||||
"browser.download.useDownloadDir" = false;
|
||||
"browser.download.alwaysOpenPanel" = false;
|
||||
|
||||
"browser.download.manager.addToRecentDocs" = false;
|
||||
|
||||
"browser.download.always_ask_before_handling_new_types" = true;
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"privacy.resistFingerprinting.pbmode" = true;
|
||||
"privacy.window.maxInnerWidth" = 1600;
|
||||
"privacy.window.maxInnerHeight" = 900;
|
||||
"privacy.resistFingerprinting.block_mozAddonManager" = true;
|
||||
"privacy.resistFingerprinting.letterboxing" = true;
|
||||
"privacy.resistFingerprinting.letterboxing.dimensions" = "";
|
||||
"widget.non-native-theme.enabled" = true;
|
||||
"browser.link.open_newwindow" = 3;
|
||||
"browser.link.open_newwindow.restriction" = 0;
|
||||
"signon.rememberSignons" = false;
|
||||
"dom.popup_allowed_events" = "click dblclick mousedown pointerdown";
|
||||
"browser.pagethumbnails.capturing_disabled" = true;
|
||||
"privacy.userContext.enabled" = true;
|
||||
"privacy.userContext.ui.enabled" = true;
|
||||
"privacy.userContext.newTabContainerOnLeftClick.enabled" = true;
|
||||
|
||||
"geo.enabled" = false;
|
||||
"full-screen-api.enabled" = false;
|
||||
"permissions.default.geo" = 0;
|
||||
"permissions.default.camera" = 0;
|
||||
"permissions.default.microphone" = 0;
|
||||
"permissions.default.desktop-notification" = 0;
|
||||
"permissions.default.xr" = 0;
|
||||
"dom.disable_window_move_resize" = true;
|
||||
|
||||
"browser.newtabpage.pinned" = [
|
||||
{
|
||||
title = "Katzencafé";
|
||||
url = "https://ck.katzen.cafe";
|
||||
}
|
||||
{
|
||||
title = "Katzenschmiede";
|
||||
url = "https://forge.katzen.cafe";
|
||||
}
|
||||
{
|
||||
title = "CatPad";
|
||||
url = "https://pad.katzen.cafe";
|
||||
}
|
||||
{
|
||||
title = "Katzenwolke";
|
||||
url = "https://wolke.katzen.cafe";
|
||||
}
|
||||
{
|
||||
title = "Penpot";
|
||||
url = "https://design.katzen.cafe";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
"browser.uitour.enabled" = false;
|
||||
|
||||
"browser.uitour.url" = "";
|
||||
"permissions.manager.defaultsUrl" = "";
|
||||
"webchannel.allowObject.urlWhitelist" = "";
|
||||
|
||||
"network.IDN_show_punycode" = true;
|
||||
"pdfjs.disabled" = false;
|
||||
"pdfjs.enableScripting" = false;
|
||||
"browser.tabs.searchclipboardfor.middleclick" = false;
|
||||
"browser.download.useDownloadDir" = false;
|
||||
"browser.download.alwaysOpenPanel" = false;
|
||||
|
||||
"browser.download.manager.addToRecentDocs" = false;
|
||||
|
||||
"browser.download.always_ask_before_handling_new_types" = true;
|
||||
"privacy.resistFingerprinting" = true;
|
||||
"privacy.resistFingerprinting.pbmode" = true;
|
||||
"privacy.window.maxInnerWidth" = 1600;
|
||||
"privacy.window.maxInnerHeight" = 900;
|
||||
"privacy.resistFingerprinting.block_mozAddonManager" = true;
|
||||
"privacy.resistFingerprinting.letterboxing" = true;
|
||||
"privacy.resistFingerprinting.letterboxing.dimensions" = "";
|
||||
"widget.non-native-theme.enabled" = true;
|
||||
"browser.link.open_newwindow" = 3;
|
||||
"browser.link.open_newwindow.restriction" = 0;
|
||||
"signon.rememberSignons" = false;
|
||||
"dom.popup_allowed_events" = "click dblclick mousedown pointerdown";
|
||||
"browser.pagethumbnails.capturing_disabled" = true;
|
||||
|
||||
"geo.enabled" = false;
|
||||
"full-screen-api.enabled" = false;
|
||||
"permissions.default.geo" = 0;
|
||||
"permissions.default.camera" = 0;
|
||||
"permissions.default.microphone" = 0;
|
||||
"permissions.default.desktop-notification" = 0;
|
||||
"permissions.default.xr" = 0;
|
||||
|
||||
"browser.newtabpage.pinned" = [
|
||||
{
|
||||
title = "Katzencafé";
|
||||
url = "https://ck.katzen.cafe";
|
||||
}
|
||||
{
|
||||
title = "Katzenschmiede";
|
||||
url = "https://forge.katzen.cafe";
|
||||
}
|
||||
{
|
||||
title = "CatPad";
|
||||
url = "https://pad.katzen.cafe";
|
||||
}
|
||||
{
|
||||
title = "Katzenwolke";
|
||||
url = "https://wolke.katzen.cafe";
|
||||
}
|
||||
{
|
||||
title = "Penpot";
|
||||
url = "https://design.katzen.cafe";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.gaming;
|
||||
in with lib; {
|
||||
options.jade.desktop.gaming = {
|
||||
enable = mkEnableOption "Enable gaming stuff";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.steam.enable = true;
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
lutris
|
||||
prismlauncher
|
||||
];
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.gaming = {
|
||||
enable = mkEnableOption "Enable gaming stuff";
|
||||
};
|
||||
};
|
||||
}
|
||||
config = mkIf cfg.enable {
|
||||
programs.steam.enable = true;
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
lutris
|
||||
prismlauncher
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,24 +1,29 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.jade.desktop.ios-compat;
|
||||
in with lib; {
|
||||
options.jade.desktop.ios-compat = {
|
||||
enable = mkEnableOption "Enable the ios compatability programs";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
usbmuxd.enable = true;
|
||||
gvfs.enable = true;
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.ios-compat;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.ios-compat = {
|
||||
enable = mkEnableOption "Enable the ios compatability programs";
|
||||
};
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
libimobiledevice
|
||||
libimobiledevice-glue
|
||||
ifuse
|
||||
usbmuxd
|
||||
libusbmuxd
|
||||
gvfs
|
||||
];
|
||||
config = mkIf cfg.enable {
|
||||
services = {
|
||||
usbmuxd.enable = true;
|
||||
gvfs.enable = true;
|
||||
};
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
libimobiledevice
|
||||
libimobiledevice-glue
|
||||
ifuse
|
||||
usbmuxd
|
||||
libusbmuxd
|
||||
gvfs
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,17 +1,22 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.jade.desktop.kdeconnect;
|
||||
in with lib; {
|
||||
options.jade.desktop.kdeconnect = {
|
||||
enable = mkEnableOption "Enable KDE connect";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.kdeconnect.enable = true;
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.kdeconnect;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.kdeconnect = {
|
||||
enable = mkEnableOption "Enable KDE connect";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
programs.kdeconnect.enable = true;
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
services.kdeconnect = {
|
||||
enable = true;
|
||||
indicator = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.mail;
|
||||
imap = {
|
||||
host = "imap.migadu.com";
|
||||
|
@ -11,63 +14,64 @@ let
|
|||
port = 465;
|
||||
tls.enable = true;
|
||||
};
|
||||
in with lib; {
|
||||
options.jade.desktop.mail = {
|
||||
enable = mkEnableOption "Enable thunderbird mail stuff";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
accounts.email.accounts = {
|
||||
"Jade" = rec {
|
||||
inherit imap smtp;
|
||||
address = "jade@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Jade";
|
||||
thunderbird.enable = true;
|
||||
primary = true;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.mail = {
|
||||
enable = mkEnableOption "Enable thunderbird mail stuff";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
accounts.email.accounts = {
|
||||
"Jade" = rec {
|
||||
inherit imap smtp;
|
||||
address = "jade@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Jade";
|
||||
thunderbird.enable = true;
|
||||
primary = true;
|
||||
};
|
||||
"Logins" = rec {
|
||||
inherit imap smtp;
|
||||
address = "logins@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Logins";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
"Contact" = rec {
|
||||
inherit imap smtp;
|
||||
address = "contact@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Jade";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
"Schule" = rec {
|
||||
inherit imap smtp;
|
||||
address = "schule@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Jade";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
"Admin" = rec {
|
||||
inherit imap smtp;
|
||||
address = "admin@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "admin";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
"CatchAll" = rec {
|
||||
inherit imap smtp;
|
||||
address = "catchall@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Catch all";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
};
|
||||
"Logins" = rec {
|
||||
inherit imap smtp;
|
||||
address = "logins@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Logins";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
"Contact" = rec {
|
||||
inherit imap smtp;
|
||||
address = "contact@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Jade";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
"Schule" = rec {
|
||||
inherit imap smtp;
|
||||
address = "schule@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Jade";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
"Admin" = rec {
|
||||
inherit imap smtp;
|
||||
address = "admin@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "admin";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
"CatchAll" = rec {
|
||||
inherit imap smtp;
|
||||
address = "catchall@schrottkatze.de";
|
||||
userName = address;
|
||||
realName = "Catch all";
|
||||
thunderbird.enable = true;
|
||||
};
|
||||
};
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
profiles.jade = {
|
||||
isDefault = true;
|
||||
programs.thunderbird = {
|
||||
enable = true;
|
||||
profiles.jade = {
|
||||
isDefault = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let
|
||||
addNuShebang = path: builtins.concatStringsSep "\n\n" [
|
||||
"#!${pkgs.nushellFull}/bin/nu"
|
||||
(builtins.readFile path)
|
||||
];
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
addNuShebang = path:
|
||||
builtins.concatStringsSep "\n\n" [
|
||||
"#!${pkgs.nushellFull}/bin/nu"
|
||||
(builtins.readFile path)
|
||||
];
|
||||
in {
|
||||
config = {
|
||||
networking = {
|
||||
|
@ -40,25 +44,25 @@ in {
|
|||
];
|
||||
};
|
||||
};
|
||||
environment.etc = (with builtins; (
|
||||
environment.etc = with builtins; (
|
||||
listToAttrs (
|
||||
map (v: {
|
||||
name = "networkhooks/${v}";
|
||||
name = "networkhooks/${v}";
|
||||
value = {
|
||||
text = addNuShebang ../../other/scripts/networkhooks/${v};
|
||||
text = addNuShebang ../../other/scripts/networkhooks/${v};
|
||||
mode = "0755";
|
||||
};
|
||||
})
|
||||
})
|
||||
(attrNames (readDir ../../other/scripts/networkhooks))
|
||||
)
|
||||
));
|
||||
);
|
||||
systemd.services."NetworkManager-wait-online".enable = false;
|
||||
services.mullvad-vpn.enable = true;
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
networkmanagerapplet
|
||||
networkmanagerapplet
|
||||
mullvad-vpn
|
||||
speedtest-cli
|
||||
speedtest-cli
|
||||
];
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,13 +1,16 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
#xsession.windowManager.i3.config.startup = [
|
||||
#{
|
||||
#command = "pkill polybar; polybar";
|
||||
#always = true;
|
||||
#}
|
||||
#{
|
||||
#command = "pkill polybar; polybar";
|
||||
#always = true;
|
||||
#}
|
||||
#];
|
||||
services.polybar = {
|
||||
enable = true;
|
||||
|
|
|
@ -1,17 +1,22 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.jade.desktop.social;
|
||||
in with lib; {
|
||||
options.jade.desktop.social = {
|
||||
enable = mkEnableOption "Enable social apps";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home.packages = with pkgs; [
|
||||
evolutionWithPlugins
|
||||
schildichat-desktop
|
||||
mumble
|
||||
];
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.social;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.social = {
|
||||
enable = mkEnableOption "Enable social apps";
|
||||
};
|
||||
};
|
||||
}
|
||||
config = mkIf cfg.enable {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
evolutionWithPlugins
|
||||
schildichat-desktop
|
||||
mumble
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,10 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
./spacenav.nix
|
||||
./wacom.nix
|
||||
];
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
{ pkgs, ... }:
|
||||
{
|
||||
{pkgs, ...}: {
|
||||
environment.systemPackages = with pkgs; [
|
||||
spacenavd
|
||||
libspnav
|
||||
spacenavd
|
||||
libspnav
|
||||
];
|
||||
systemd.services.spacenavd = {
|
||||
wantedBy = [ "graphical.target" ];
|
||||
wantedBy = ["graphical.target"];
|
||||
script = "${pkgs.spacenavd}/bin/spacenavd -d";
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
services.xserver.wacom.enable = true;
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = [
|
||||
# TODO: figure out if the previous enabled option depends on these anyway
|
||||
pkgs.libwacom
|
||||
|
|
|
@ -1,16 +1,21 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.jade.desktop.syncthing;
|
||||
in with lib; {
|
||||
options.jade.desktop.syncthing = {
|
||||
enable = mkEnableOption "Enable syncing via syncthing";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.syncthing = rec {
|
||||
enable = true;
|
||||
user = "jade";
|
||||
dataDir = "/home/${user}/Documents";
|
||||
configDir = "/home/${user}/Documents/.config/syncthing";
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.desktop.syncthing;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.desktop.syncthing = {
|
||||
enable = mkEnableOption "Enable syncing via syncthing";
|
||||
};
|
||||
};
|
||||
}
|
||||
config = mkIf cfg.enable {
|
||||
services.syncthing = rec {
|
||||
enable = true;
|
||||
user = "jade";
|
||||
dataDir = "/home/${user}/Documents";
|
||||
configDir = "/home/${user}/Documents/.config/syncthing";
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,14 +1,17 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
fonts.packages = with pkgs; [
|
||||
atkinson-hyperlegible
|
||||
];
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.packages = with pkgs; [
|
||||
gtk-engine-murrine
|
||||
gruvbox-dark-gtk
|
||||
gtk-engine-murrine
|
||||
gruvbox-dark-gtk
|
||||
gruvbox-dark-icons-gtk
|
||||
];
|
||||
gtk = {
|
||||
|
@ -18,7 +21,7 @@
|
|||
name = "phinger-cursors";
|
||||
size = 30;
|
||||
};
|
||||
font = {
|
||||
font = {
|
||||
package = pkgs.atkinson-hyperlegible;
|
||||
name = "Atkinson Hyperlegible";
|
||||
size = 11.5;
|
||||
|
@ -31,7 +34,7 @@
|
|||
package = pkgs.gruvbox-dark-gtk;
|
||||
name = "gruvbox-dark";
|
||||
};
|
||||
};
|
||||
};
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk";
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
with lib; {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
xsession.windowManager.xmonad = {
|
||||
enable = true;
|
||||
enableContribAndExtras = true;
|
||||
|
|
|
@ -1,35 +1,40 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
config = {
|
||||
networking = {
|
||||
firewall = {
|
||||
enable = true;
|
||||
allowedTCPPorts = [
|
||||
allowedTCPPorts = [
|
||||
# ssh
|
||||
22
|
||||
|
||||
# http, https
|
||||
80 443
|
||||
80
|
||||
443
|
||||
|
||||
# syncthing web ui
|
||||
8384
|
||||
|
||||
# syncthing
|
||||
22000
|
||||
22000
|
||||
|
||||
# mumble
|
||||
64738
|
||||
];
|
||||
allowedUDPPorts = [
|
||||
8080
|
||||
allowedUDPPorts = [
|
||||
8080
|
||||
|
||||
# other
|
||||
# other
|
||||
12333
|
||||
|
||||
# syncthing discovery
|
||||
21027
|
||||
21027
|
||||
|
||||
# mumble
|
||||
# mumble
|
||||
64738
|
||||
];
|
||||
};
|
||||
|
|
|
@ -1,17 +1,22 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.jade.flatpak;
|
||||
in with lib; {
|
||||
options.jade.flatpak = {
|
||||
enable = mkEnableOption "Enable flatpak";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
services.flatpak.enable = true;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.flatpak;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.flatpak = {
|
||||
enable = mkEnableOption "Enable flatpak";
|
||||
};
|
||||
};
|
||||
}
|
||||
config = mkIf cfg.enable {
|
||||
services.flatpak.enable = true;
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = [
|
||||
pkgs.xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ ... }: {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
{...}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
programs.git = {
|
||||
enable = true;
|
||||
userName = "Schrottkatze";
|
||||
|
@ -16,37 +16,37 @@
|
|||
programs.gitui = {
|
||||
enable = true;
|
||||
keyConfig = ''
|
||||
(
|
||||
open_help: Some(( code: F(1), modifiers: ( bits: 0,),)),
|
||||
(
|
||||
open_help: Some(( code: F(1), modifiers: ( bits: 0,),)),
|
||||
|
||||
move_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)),
|
||||
move_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)),
|
||||
move_up: Some(( code: Char('k'), modifiers: ( bits: 0,),)),
|
||||
move_down: Some(( code: Char('j'), modifiers: ( bits: 0,),)),
|
||||
|
||||
popup_up: Some(( code: Char('p'), modifiers: ( bits: 2,),)),
|
||||
popup_down: Some(( code: Char('n'), modifiers: ( bits: 2,),)),
|
||||
page_up: Some(( code: Char('b'), modifiers: ( bits: 2,),)),
|
||||
page_down: Some(( code: Char('f'), modifiers: ( bits: 2,),)),
|
||||
home: Some(( code: Char('g'), modifiers: ( bits: 0,),)),
|
||||
end: Some(( code: Char('G'), modifiers: ( bits: 1,),)),
|
||||
shift_up: Some(( code: Char('K'), modifiers: ( bits: 1,),)),
|
||||
shift_down: Some(( code: Char('J'), modifiers: ( bits: 1,),)),
|
||||
move_left: Some(( code: Char('h'), modifiers: ( bits: 0,),)),
|
||||
move_right: Some(( code: Char('l'), modifiers: ( bits: 0,),)),
|
||||
move_up: Some(( code: Char('k'), modifiers: ( bits: 0,),)),
|
||||
move_down: Some(( code: Char('j'), modifiers: ( bits: 0,),)),
|
||||
|
||||
edit_file: Some(( code: Char('I'), modifiers: ( bits: 1,),)),
|
||||
popup_up: Some(( code: Char('p'), modifiers: ( bits: 2,),)),
|
||||
popup_down: Some(( code: Char('n'), modifiers: ( bits: 2,),)),
|
||||
page_up: Some(( code: Char('b'), modifiers: ( bits: 2,),)),
|
||||
page_down: Some(( code: Char('f'), modifiers: ( bits: 2,),)),
|
||||
home: Some(( code: Char('g'), modifiers: ( bits: 0,),)),
|
||||
end: Some(( code: Char('G'), modifiers: ( bits: 1,),)),
|
||||
shift_up: Some(( code: Char('K'), modifiers: ( bits: 1,),)),
|
||||
shift_down: Some(( code: Char('J'), modifiers: ( bits: 1,),)),
|
||||
|
||||
status_reset_item: Some(( code: Char('U'), modifiers: ( bits: 1,),)),
|
||||
edit_file: Some(( code: Char('I'), modifiers: ( bits: 1,),)),
|
||||
|
||||
diff_reset_lines: Some(( code: Char('u'), modifiers: ( bits: 0,),)),
|
||||
diff_stage_lines: Some(( code: Char('s'), modifiers: ( bits: 0,),)),
|
||||
status_reset_item: Some(( code: Char('U'), modifiers: ( bits: 1,),)),
|
||||
|
||||
stashing_save: Some(( code: Char('w'), modifiers: ( bits: 0,),)),
|
||||
stashing_toggle_index: Some(( code: Char('m'), modifiers: ( bits: 0,),)),
|
||||
diff_reset_lines: Some(( code: Char('u'), modifiers: ( bits: 0,),)),
|
||||
diff_stage_lines: Some(( code: Char('s'), modifiers: ( bits: 0,),)),
|
||||
|
||||
stash_open: Some(( code: Char('l'), modifiers: ( bits: 0,),)),
|
||||
stashing_save: Some(( code: Char('w'), modifiers: ( bits: 0,),)),
|
||||
stashing_toggle_index: Some(( code: Char('m'), modifiers: ( bits: 0,),)),
|
||||
|
||||
abort_merge: Some(( code: Char('M'), modifiers: ( bits: 1,),)),
|
||||
)
|
||||
stash_open: Some(( code: Char('l'), modifiers: ( bits: 0,),)),
|
||||
|
||||
abort_merge: Some(( code: Char('M'), modifiers: ( bits: 1,),)),
|
||||
)
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ ... }: {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
{...}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
programs.carapace = {
|
||||
enable = true;
|
||||
};
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{ ... }: {
|
||||
{...}: {
|
||||
imports = [
|
||||
./helix.nix
|
||||
./nu.nix
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ ... }: {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
{...}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
programs.direnv = {
|
||||
enable = true;
|
||||
nix-direnv.enable = true;
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
{config, ...}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home = {
|
||||
sessionVariables.EDITOR = "hx";
|
||||
packages = [
|
||||
pkgs.nil
|
||||
packages = [
|
||||
pkgs.nil
|
||||
pkgs.haskell-language-server
|
||||
pkgs.nodePackages_latest.vscode-html-languageserver-bin
|
||||
pkgs.nodePackages_latest.vscode-json-languageserver-bin
|
||||
pkgs.nodePackages_latest.vscode-html-languageserver-bin
|
||||
pkgs.nodePackages_latest.vscode-json-languageserver-bin
|
||||
pkgs.nodePackages_latest.vscode-css-languageserver-bin
|
||||
pkgs.nodePackages_latest.bash-language-server
|
||||
];
|
||||
|
@ -43,7 +42,7 @@
|
|||
languages = {
|
||||
language-server."nu-builtin-lsp" = {
|
||||
command = "${config.users.defaultUserShell}/bin/nu";
|
||||
args = [ "--lsp" ];
|
||||
args = ["--lsp"];
|
||||
};
|
||||
language-server."rust-analyzer" = {
|
||||
config = {
|
||||
|
@ -61,7 +60,7 @@
|
|||
language = [
|
||||
{
|
||||
name = "nu";
|
||||
language-servers = [ "nu-builtin-lsp" ];
|
||||
language-servers = ["nu-builtin-lsp"];
|
||||
}
|
||||
];
|
||||
};
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ config, ... }: {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
{config, ...}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
programs.nushell = {
|
||||
enable = true;
|
||||
package = config.users.defaultUserShell;
|
||||
|
@ -10,7 +10,7 @@
|
|||
'';
|
||||
};
|
||||
programs.starship.enableNushellIntegration = true;
|
||||
programs.carapace.enableNushellIntegration = true;
|
||||
programs.carapace.enableNushellIntegration = true;
|
||||
programs.direnv.enableNushellIntegration = true;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
{ ... }: {
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
{...}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
programs.starship = {
|
||||
enable = true;
|
||||
settings = {
|
||||
|
@ -22,7 +22,7 @@
|
|||
cmd_duration = {
|
||||
format = "\\[[⏱ $duration]($style)\\]";
|
||||
};
|
||||
nix_shell = {
|
||||
nix_shell = {
|
||||
format = "\\[[$symbol$state( \\($name\\))]($style)\\]";
|
||||
symbol = " ";
|
||||
};
|
||||
|
|
|
@ -1,6 +1,9 @@
|
|||
{ config, lib, ... }:
|
||||
{
|
||||
home-manager.users.jade = { pkgs, ... }: {
|
||||
config,
|
||||
lib,
|
||||
...
|
||||
}: {
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
home.file = {
|
||||
zellij-forgot = {
|
||||
target = ".config/zellij/plugins/zellij-forgot.wasm";
|
||||
|
@ -16,17 +19,17 @@
|
|||
settings = {
|
||||
theme = "gruvbox-dark";
|
||||
themes.gruvbox-dark = {
|
||||
fg = "#d5c4a1";
|
||||
bg = "#282828";
|
||||
black = "#3C3836";
|
||||
red = "#CC241D";
|
||||
green = "#98971A";
|
||||
yellow = "#D79921";
|
||||
blue = "#3C8588";
|
||||
magenta = "#B16286";
|
||||
cyan = "#689D6A";
|
||||
white = "#ebdbb2";
|
||||
orange = "#D65D0E";
|
||||
fg = "#d5c4a1";
|
||||
bg = "#282828";
|
||||
black = "#3C3836";
|
||||
red = "#CC241D";
|
||||
green = "#98971A";
|
||||
yellow = "#D79921";
|
||||
blue = "#3C8588";
|
||||
magenta = "#B16286";
|
||||
cyan = "#689D6A";
|
||||
white = "#ebdbb2";
|
||||
orange = "#D65D0E";
|
||||
};
|
||||
pane_frames = false;
|
||||
};
|
||||
|
|
|
@ -1,10 +1,16 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.jade.NAME;
|
||||
in with lib; {
|
||||
options.jade.NAME = {
|
||||
enable = mkEnableOption "Enable the module";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
};
|
||||
}
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.NAME;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.NAME = {
|
||||
enable = mkEnableOption "Enable the module";
|
||||
};
|
||||
config =
|
||||
mkIf cfg.enable {
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,44 +1,49 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
let cfg = config.jade.terminal;
|
||||
in with lib; {
|
||||
options.jade.terminal = {
|
||||
enable = mkEnableOption "Enable Kitty";
|
||||
};
|
||||
config = mkIf cfg.enable {
|
||||
environment.sessionVariables = rec {
|
||||
TERMINAL = "kitty";
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}: let
|
||||
cfg = config.jade.terminal;
|
||||
in
|
||||
with lib; {
|
||||
options.jade.terminal = {
|
||||
enable = mkEnableOption "Enable Kitty";
|
||||
};
|
||||
home-manager.users.jade = { pkgs,... } : {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = "FiraCode Nerd Font";
|
||||
size = 11;
|
||||
};
|
||||
settings = {
|
||||
#adjust_column_width = "70%";
|
||||
color0 = "#282828";
|
||||
color8 = "#928374";
|
||||
color1 = "#cc241d";
|
||||
color9 = "#fb4934";
|
||||
color2 = "#98971a";
|
||||
color10 = "#b8bb26";
|
||||
color3 = "#d79921";
|
||||
color11 = "#fabd2f";
|
||||
color4 = "#458588";
|
||||
color12 = "#83a598";
|
||||
color5 = "#b16286";
|
||||
color13 = "#d3869b";
|
||||
color6 = "#689d6a";
|
||||
color14 = "#8ec07c";
|
||||
color7 = "#a89984";
|
||||
color15 = "#ebdbb2";
|
||||
foreground = "#ebdbb2";
|
||||
background = "#282828";
|
||||
confirm_os_window_close = 0;
|
||||
config = mkIf cfg.enable {
|
||||
environment.sessionVariables = rec {
|
||||
TERMINAL = "kitty";
|
||||
};
|
||||
home-manager.users.jade = {pkgs, ...}: {
|
||||
programs.kitty = {
|
||||
enable = true;
|
||||
font = {
|
||||
name = "FiraCode Nerd Font";
|
||||
size = 11;
|
||||
};
|
||||
settings = {
|
||||
#adjust_column_width = "70%";
|
||||
color0 = "#282828";
|
||||
color8 = "#928374";
|
||||
color1 = "#cc241d";
|
||||
color9 = "#fb4934";
|
||||
color2 = "#98971a";
|
||||
color10 = "#b8bb26";
|
||||
color3 = "#d79921";
|
||||
color11 = "#fabd2f";
|
||||
color4 = "#458588";
|
||||
color12 = "#83a598";
|
||||
color5 = "#b16286";
|
||||
color13 = "#d3869b";
|
||||
color6 = "#689d6a";
|
||||
color14 = "#8ec07c";
|
||||
color7 = "#a89984";
|
||||
color15 = "#ebdbb2";
|
||||
foreground = "#ebdbb2";
|
||||
background = "#282828";
|
||||
confirm_os_window_close = 0;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,47 +1,54 @@
|
|||
{ pkgs, lib }: rec {
|
||||
{
|
||||
pkgs,
|
||||
lib,
|
||||
}: rec {
|
||||
# taken from https://github.com/NixOS/nixpkgs/blob/3650808d85dccbfa3be3d785dfd3ce33a757bd2c/pkgs/build-support/trivial-builders/default.nix#L335
|
||||
writeNuShellApplication =
|
||||
{ name
|
||||
, text
|
||||
, runtimeInputs ? [ ]
|
||||
, meta ? { }
|
||||
, checkPhase ? null
|
||||
}:
|
||||
writeNuShellApplication = {
|
||||
name,
|
||||
text,
|
||||
runtimeInputs ? [],
|
||||
meta ? {},
|
||||
checkPhase ? null,
|
||||
}:
|
||||
writeTextFile {
|
||||
inherit name meta;
|
||||
executable = true;
|
||||
destination = "/bin/${name}";
|
||||
allowSubstitutes = true;
|
||||
preferLocalBuild = false;
|
||||
text = ''
|
||||
#!${pkgs.nushell}
|
||||
'' + lib.optionalString (runtimeInputs != [ ]) ''
|
||||
text =
|
||||
''
|
||||
#!${pkgs.nushell}
|
||||
''
|
||||
+ lib.optionalString (runtimeInputs != []) ''
|
||||
|
||||
$env.PATH = ($env.PATH | split row (char esep) | prepend '${lib.makeBinPath runtimeInputs}');
|
||||
'' + ''
|
||||
$env.PATH = ($env.PATH | split row (char esep) | prepend '${lib.makeBinPath runtimeInputs}');
|
||||
''
|
||||
+ ''
|
||||
|
||||
${text}
|
||||
'';
|
||||
${text}
|
||||
'';
|
||||
|
||||
checkPhase =
|
||||
# GHC (=> shellcheck) isn't supported on some platforms (such as risc-v)
|
||||
# but we still want to use writeShellApplication on those platforms
|
||||
if checkPhase == null then ''
|
||||
if checkPhase == null
|
||||
then ''
|
||||
runHook preCheck
|
||||
|
||||
nu -c "nu-check -d $target"
|
||||
|
||||
|
||||
runHook postCheck
|
||||
''
|
||||
else checkPhase;
|
||||
};
|
||||
packageNushellApplication =
|
||||
{ name
|
||||
, path
|
||||
, runtimeInputs ? [ ]
|
||||
, meta ? { }
|
||||
, checkPhase ? null
|
||||
}:
|
||||
packageNushellApplication = {
|
||||
name,
|
||||
path,
|
||||
runtimeInputs ? [],
|
||||
meta ? {},
|
||||
checkPhase ? null,
|
||||
}:
|
||||
writeNuShellApplication {
|
||||
inherit name runtimeInputs meta checkPhase;
|
||||
text = builtins.readFile path;
|
||||
|
|
|
@ -1,35 +1,35 @@
|
|||
{ pkgs, ... }:
|
||||
{pkgs, ...}:
|
||||
pkgs.writeShellScriptBin "desktopctl" ''
|
||||
case $@ in
|
||||
"Lock Screen")
|
||||
loginctl lock-session
|
||||
exit 0
|
||||
;;
|
||||
"Log Out")
|
||||
pkill xmonad
|
||||
exit 0
|
||||
;;
|
||||
"Shut Down")
|
||||
shutdown now
|
||||
exit 0
|
||||
;;
|
||||
"Reboot")
|
||||
systemctl reboot
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
case $@ in
|
||||
"Lock Screen")
|
||||
loginctl lock-session
|
||||
exit 0
|
||||
;;
|
||||
"Log Out")
|
||||
pkill xmonad
|
||||
exit 0
|
||||
;;
|
||||
"Shut Down")
|
||||
shutdown now
|
||||
exit 0
|
||||
;;
|
||||
"Reboot")
|
||||
systemctl reboot
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# resizes grid
|
||||
echo -en "\0theme\x1flistview,inputbar,message{columns:4;lines:1;}\n"
|
||||
# resizes window, moves it to top of screen, adjusts rounded corners
|
||||
echo -en "\0theme\x1fwindow{width:800px;location:north;y-offset:24px;border-radius:0 0 12px 12px;}\n"
|
||||
# swaps grid and input bar
|
||||
echo -en "\0theme\x1fmainbox{children:[listview,inputbar];}\n"
|
||||
# fixes brown line below input bar
|
||||
echo -en "\0theme\x1finputbar{margin:0;}\n"
|
||||
# resizes grid
|
||||
echo -en "\0theme\x1flistview,inputbar,message{columns:4;lines:1;}\n"
|
||||
# resizes window, moves it to top of screen, adjusts rounded corners
|
||||
echo -en "\0theme\x1fwindow{width:800px;location:north;y-offset:24px;border-radius:0 0 12px 12px;}\n"
|
||||
# swaps grid and input bar
|
||||
echo -en "\0theme\x1fmainbox{children:[listview,inputbar];}\n"
|
||||
# fixes brown line below input bar
|
||||
echo -en "\0theme\x1finputbar{margin:0;}\n"
|
||||
|
||||
echo -en "Lock Screen\0icon\x1f${../../../other/assets/desktopctl/lock-screen.svg}\n"
|
||||
echo -en "Log Out\0icon\x1f${../../../other/assets/desktopctl/logout.svg}\n"
|
||||
echo -en "Shut Down\0icon\x1f${../../../other/assets/desktopctl/shutdown.svg}\n"
|
||||
echo -en "Reboot\0icon\x1f${../../../other/assets/desktopctl/reboot.svg}\n"
|
||||
echo -en "Lock Screen\0icon\x1f${../../../other/assets/desktopctl/lock-screen.svg}\n"
|
||||
echo -en "Log Out\0icon\x1f${../../../other/assets/desktopctl/logout.svg}\n"
|
||||
echo -en "Shut Down\0icon\x1f${../../../other/assets/desktopctl/shutdown.svg}\n"
|
||||
echo -en "Reboot\0icon\x1f${../../../other/assets/desktopctl/reboot.svg}\n"
|
||||
''
|
||||
|
|
Loading…
Reference in a new issue