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