installed and ran alejandra as formatter

This commit is contained in:
Schrottkatze 2023-11-26 21:26:49 +01:00
parent 49452e89db
commit 8a1314b58f
47 changed files with 1362 additions and 1113 deletions

View file

@ -1,12 +1,14 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, ... }:
with lib;
with builtins;
{
config,
pkgs,
lib,
...
}:
with lib;
with builtins; {
nix = {
package = pkgs.nixVersions.stable;
extraOptions = ''
@ -29,11 +31,45 @@ with builtins;
systemPackages = with pkgs; [
htmlq
wget git neofetch pciutils zip unzip gnutar iw btop nodejs jdk8 jdk11
jdk libsecret gh nix-prefetch-scripts fzf glab ripgrep
sl lolcat appimage-run git-crypt file whois p7zip file nmap cmatrix tree
socat smartmontools mprocs
dig aria2 usbutils numbat
wget
git
neofetch
pciutils
zip
unzip
gnutar
iw
btop
nodejs
jdk8
jdk11
jdk
libsecret
gh
nix-prefetch-scripts
fzf
glab
ripgrep
sl
lolcat
appimage-run
git-crypt
file
whois
p7zip
file
nmap
cmatrix
tree
socat
smartmontools
mprocs
dig
aria2
usbutils
numbat
alejandra
];
};
@ -82,12 +118,16 @@ with builtins;
time.timeZone = "Europe/Berlin";
home-manager.users.jade = { nixosConfig, pkgs, ... }: {
home-manager.users.jade = {
nixosConfig,
pkgs,
...
}: {
home.sessionVariables.TZ = nixosConfig.time.timeZone;
};
nixpkgs.config.packageOverrides = pkgs: {
sudo = pkgs.sudo.override { withInsults = true; };
sudo = pkgs.sudo.override {withInsults = true;};
};
security.sudo.extraConfig = "Defaults insults";
@ -104,7 +144,7 @@ with builtins;
users.users.jade = {
isNormalUser = true;
extraGroups = [ "wheel" "input" "uinput" "libvirtd" "adbusers" "dialout" "plugdev" "wireshark" ];
extraGroups = ["wheel" "input" "uinput" "libvirtd" "adbusers" "dialout" "plugdev" "wireshark"];
packages = [
pkgs.marksman
];
@ -117,4 +157,3 @@ with builtins;
users.defaultUserShell = pkgs.nushellFull;
}

View file

@ -24,7 +24,15 @@
gumseite.url = "git+https://gitlab.com/schrottkatze/gum-schulsachen.git";
};
outputs = { self, nixpkgs, nixpkgs-stable, home-manager, nixos-hardware, mac-brcm-fw, ... }@inputs: {
outputs = {
self,
nixpkgs,
nixpkgs-stable,
home-manager,
nixos-hardware,
mac-brcm-fw,
...
} @ inputs: {
nixosConfigurations = {
monosodium-glutamate-g = nixpkgs.lib.nixosSystem {
specialArgs = {
@ -33,10 +41,15 @@
system = "x86_64-linux";
modules = [
./hosts/monosodium-glutamate-g/configuration.nix
home-manager.nixosModules.home-manager {
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jade = { nixosConfig, pkgs, ... }: {
home-manager.users.jade = {
nixosConfig,
pkgs,
...
}: {
home.sessionVariables.TZ = nixosConfig.time.timeZone;
home.stateVersion = "${nixosConfig.system.stateVersion}";
};
@ -50,10 +63,15 @@
system = "x86_64-linux";
modules = [
./hosts/catbook-j/configuration.nix
home-manager.nixosModules.home-manager {
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jade = { nixosConfig, pkgs, ... }: {
home-manager.users.jade = {
nixosConfig,
pkgs,
...
}: {
home.sessionVariables.TZ = nixosConfig.time.timeZone;
home.stateVersion = "22.11";
};
@ -68,10 +86,15 @@
modules = [
"${mac-brcm-fw}"
./hosts/potatobook-g/configuration.nix
home-manager.nixosModules.home-manager {
home-manager.nixosModules.home-manager
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.jade = { nixosConfig, pkgs, ... }: {
home-manager.users.jade = {
nixosConfig,
pkgs,
...
}: {
home.sessionVariables.TZ = nixosConfig.time.timeZone;
home.stateVersion = "${nixosConfig.system.stateVersion}";
};

View file

@ -1,10 +1,14 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, lib, ... }: {
imports =
[ # Include the results of the hardware scan.
{
config,
pkgs,
lib,
...
}: {
imports = [
# Include the results of the hardware scan.
./hardware-configuration.nix
../../common.nix
../../modules
@ -33,22 +37,22 @@
hardware.usb-modeswitch.enable = true;
systemd.services."ModemManager".enable = true;
systemd.services."ModemManager".wants = [ "NetworkManager.service" ];
systemd.services."ModemManager".wantedBy = [ "multi-user.target" ];
systemd.services."ModemManager".wants = ["NetworkManager.service"];
systemd.services."ModemManager".wantedBy = ["multi-user.target"];
programs.wireshark.enable = true;
boot.resumeDevice = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
boot.kernelParams = [ "resume_offset=7380652" ];
boot.kernelParams = ["resume_offset=7380652"];
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
boot.binfmt.emulatedSystems = ["aarch64-linux"];
hardware.bluetooth.enable = true;
services.blueman.enable = true;
services.xserver.libinput.touchpad.tapping = false;
environment.systemPackages = [ pkgs.vivaldi pkgs.vivaldi-ffmpeg-codecs pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark];
environment.systemPackages = [pkgs.vivaldi pkgs.vivaldi-ffmpeg-codecs pkgs.plantuml pkgs.mqttui pkgs.mobile-broadband-provider-info pkgs.modem-manager-gui pkgs.wireshark];
# Bootloader.
boot.loader.systemd-boot.enable = true;
@ -119,5 +123,4 @@
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.05"; # Did you read the comment?
}

View file

@ -1,47 +1,53 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usb_storage" "sd_mod" "rtsx_pci_sdmmc"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
fileSystems."/" = {
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
fsType = "btrfs";
options = [ "subvol=@" "compress=zstd:3" "noatime" ];
options = ["subvol=@" "compress=zstd:3" "noatime"];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
fileSystems."/home" = {
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
fsType = "btrfs";
options = [ "subvol=@home" "compress=zstd:3" ];
options = ["subvol=@home" "compress=zstd:3"];
};
fileSystems."/swap" =
{ device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
fileSystems."/swap" = {
device = "/dev/disk/by-uuid/4f9e8afa-f8d7-40bf-b3ea-17e8e8fbb694";
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";
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/C6CA-5DE8";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/C6CA-5DE8";
fsType = "vfat";
};
swapDevices = [{
swapDevices = [
{
device = "/swap/swapfile";
size = (1024 * 24);
}];
size = 1024 * 24;
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,9 +1,7 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ pkgs, ... }:
{
{pkgs, ...}: {
imports = [
./hardware-configuration.nix
../../common.nix
@ -44,7 +42,6 @@
};
boot = {
loader = {
# Use the systemd-boot EFI boot loader.
systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
@ -60,16 +57,14 @@
# }
# ];
binfmt.emulatedSystems = [ "aarch64-linux" ];
binfmt.emulatedSystems = ["aarch64-linux"];
};
networking.hostName = "monosodium-glutamate-g";
services = {
# monitor control
ddccontrol.enable = true;
xserver = {
layout = "us";
xkbVariant = "altgr-intl";
enable = true;
@ -82,7 +77,6 @@
gnome.gnome-keyring.enable = true;
};
hardware = {
bluetooth.enable = true;
keyboard.uhk.enable = true;
enableRedistributableFirmware = true;
@ -96,7 +90,8 @@
wireshark
awesomebump
zenstates zenmonitor
zenstates
zenmonitor
nvtop-amd
radeontop
rgp
@ -125,7 +120,7 @@
systemd.services = {
create-swapfile = {
serviceConfig.Type = "oneshot";
wantedBy = [ "swap-swapfile.swap" ];
wantedBy = ["swap-swapfile.swap"];
script = ''
swapfile="/swap/swapfile"
if [[ -f "$swapfile" ]]; then
@ -142,6 +137,3 @@
# release channel
system.stateVersion = "22.05"; # Did you read the comment?
}

View file

@ -1,39 +1,45 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-amd" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-amd"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
fileSystems."/" = {
device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
fsType = "btrfs";
options = [ "subvol=@root" "compress=zstd:3" ];
options = ["subvol=@root" "compress=zstd:3"];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
fileSystems."/home" = {
device = "/dev/disk/by-uuid/72ffbc9d-a319-42d7-8d26-13c921a679db";
fsType = "btrfs";
options = [ "subvol=@home" "compress=zstd:3"];
options = ["subvol=@home" "compress=zstd:3"];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/D63E-18C9";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/D63E-18C9";
fsType = "vfat";
};
swapDevices = [{
swapDevices = [
{
device = "/swap/swapfile";
size = (1024 * 64) + (1024 * 8); # 72G
} ];
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,4 +1,4 @@
{ pkgs, ... }: {
{pkgs, ...}: {
nix.settings = {
trusted-substituters = [
"https://t2linux.cachix.org"
@ -38,7 +38,7 @@
#}
#];
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
boot.binfmt.emulatedSystems = ["aarch64-linux"];
jade = {
flatpak.enable = true;
@ -57,9 +57,9 @@
};
fileSystems = {
"/".options = [ "compress=zstd:3" ];
"/home".options = [ "compress=zstd:3" ];
"/nix".options = [ "compress=zstd:3" "noatime" ];
"/".options = ["compress=zstd:3"];
"/home".options = ["compress=zstd:3"];
"/nix".options = ["compress=zstd:3" "noatime"];
#"/swap".options = [ "noatime" ];
};
@ -70,9 +70,13 @@
networking.hostName = "potatobook-g";
services.xserver = {
resolutions = [ { x = 1920; y = 1200; } ];
resolutions = [
{
x = 1920;
y = 1200;
}
];
# dpi = 180;
layout = "us";
xkbVariant = "altgr-intl";
@ -95,9 +99,9 @@
hardware.keyboard.uhk.enable = true;
hardware.enableRedistributableFirmware = true;
environment.systemPackages = with pkgs; [
android-tools evremap
android-tools
evremap
];
environment.pathsToLink = [
@ -154,7 +158,7 @@
systemd.services = {
create-swapfile = {
serviceConfig.Type = "oneshot";
wantedBy = [ "swap-swapfile.swap" ];
wantedBy = ["swap-swapfile.swap"];
script = ''
swapfile="/swap/swapfile"
if [[ -f "$swapfile" ]]; then
@ -175,5 +179,3 @@
# i rly should put that important big comment back here
system.stateVersion = "22.11"; # Did you read the comment?
}

View file

@ -1,45 +1,51 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
{ config, lib, pkgs, modulesPath, ... }:
{
imports =
[ (modulesPath + "/installer/scan/not-detected.nix")
config,
lib,
pkgs,
modulesPath,
...
}: {
imports = [
(modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "xhci_pci" "nvme" "usbhid" "uas" "sd_mod" ];
boot.initrd.kernelModules = [ ];
boot.kernelModules = [ "kvm-intel" ];
boot.extraModulePackages = [ ];
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usbhid" "uas" "sd_mod"];
boot.initrd.kernelModules = [];
boot.kernelModules = ["kvm-intel"];
boot.extraModulePackages = [];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
fileSystems."/" = {
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
fsType = "btrfs";
options = [ "subvol=root" ];
options = ["subvol=root"];
};
fileSystems."/home" =
{ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
fileSystems."/home" = {
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
fsType = "btrfs";
options = [ "subvol=home" ];
options = ["subvol=home"];
};
fileSystems."/nix" =
{ device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
fileSystems."/nix" = {
device = "/dev/disk/by-uuid/f6d243ec-6be9-4551-8cbb-aefb7b691a62";
fsType = "btrfs";
options = [ "subvol=nix" ];
options = ["subvol=nix"];
};
fileSystems."/boot" =
{ device = "/dev/disk/by-uuid/5F66-17ED";
fileSystems."/boot" = {
device = "/dev/disk/by-uuid/5F66-17ED";
fsType = "vfat";
};
swapDevices = [{
swapDevices = [
{
device = "/swap/swapfile";
size = (1024 * 12); # 12GB
}];
size = 1024 * 12; # 12GB
}
];
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
# (the default) this is the recommended approach. When using systemd-networkd it's

View file

@ -1,9 +1,11 @@
{config, pkgs, ...}:
{
config,
pkgs,
...
}: {
imports = [
<nixpkgs/nixos/modules/installer/cd-dvd/installation-cd-minimal.nix>
<nixpkgs/nixos/modules/installer/cd-dvd/channel.nix>
./configuration.nix
];
}

View file

@ -1,3 +1,3 @@
{ ... }: {}
{...}: {}
# dummy

View file

@ -1,5 +1,4 @@
{ ... }:
{
{...}: {
imports = [
./shell
./desktop

View file

@ -1,6 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
config = {
programs = {
noisetorch.enable = true;
@ -15,7 +18,7 @@
};
hardware.pulseaudio.enable = pkgs.lib.mkForce false;
sound.mediaKeys.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
pavucontrol
pulseaudioFull

View file

@ -1,12 +1,17 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.cloud;
in with lib; {
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.cloud;
in
with lib; {
options.jade.desktop.cloud = {
enable = mkEnableOption "Enable cloud things";
};
config = mkIf cfg.enable {
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
fluent-reader
bitwarden
@ -14,4 +19,4 @@ in with lib; {
];
};
};
}
}

View file

@ -1,8 +1,12 @@
{ config, lib, pkgs, ... }:
let
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.compositing;
in with lib; {
in
with lib; {
options.jade.desktop.compositing = {
enable = mkEnableOption "Enable compositing with picom";
};
@ -12,7 +16,7 @@ in with lib; {
backend = "glx";
shadow = true;
shadowOffsets = [ (-40) (-30) ];
shadowOffsets = [(-40) (-30)];
shadowOpacity = 0.2;
shadowExclude = [
"class_g ?= 'Notify-osd'"
@ -28,11 +32,11 @@ in with lib; {
"fade-in-step" = 0.25;
"fade-out-step" = 0.2;
"fade-delta" = 20;
"fade-exclude" = [ "class_g != 'Rofi'" ];
"fade-exclude" = ["class_g != 'Rofi'"];
# use damage information
"use-damage" = true;
};
};
# }}}
};
}
}

View file

@ -1,6 +1,6 @@
{ pkgs, ... }: {
{pkgs, ...}: {
fonts.packages = with pkgs; [
(nerdfonts.override { fonts = [ "FiraCode" ]; })
(nerdfonts.override {fonts = ["FiraCode"];})
montserrat
noto-fonts
atkinson-hyperlegible
@ -12,7 +12,7 @@
ocr-a
];
fonts.fontDir.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
audacity
krita

View file

@ -1,15 +1,19 @@
{ config, lib, pkgs, ... }:
let
{
config,
lib,
pkgs,
...
}: let
# window-screenshot = pkgs.writeTextFile "window-screenshot.nu" (builtins.readFile ../../other/scripts/desktop/window-screenshot.nu);
window-screenshot = pkgs.writeShellScriptBin "window-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/window-screenshot.sh);
# desktop-ctl = pkgs.writeShellScriptBin "desktop-ctl.sh" (builtins.readFile ../scripts/desktop/desktop-ctl.sh);
desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix { inherit pkgs; };
desktop-ctl = import ../../other/scripts/desktop/desktopctl.nix {inherit pkgs;};
# TODO: fix ocr screenshot script
ocr-screenshot = pkgs.writeShellScriptBin "ocr-screenshot.sh" (builtins.readFile ../../other/scripts/desktop/ocr-screenshot.sh);
# rofi calculator copied from https://github.com/barbuk/menu-qalc
menu-qalc = pkgs.writeShellScriptBin "menu-qalc" (builtins.readFile ../../other/scripts/desktop/menu-qalc.sh);
in with lib; {
in
with lib; {
imports = [
./audio.nix
./gaming.nix
@ -71,8 +75,6 @@ in with lib; {
enable = true;
};
};
};
programs.xss-lock = {
@ -89,7 +91,7 @@ in with lib; {
notifications.test = true;
};
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
programs.bat = {
# TODO: more config
enable = true;
@ -99,35 +101,79 @@ in with lib; {
theme = ../../other/rofi-themes/applauncher.rasi;
};
home.packages = with pkgs; [
just bacon
just
bacon
magic-wormhole-rs
yt-dlp
i3lock rofimoji feh xorg.xinput arandr flameshot
tesseract5 imagemagick xclip xmacro xorg.xev
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
xfce.thunar
xfce.tumbler
xfce.thunar-archive-plugin
gnome.file-roller
# media/file viewers
vlc mpv evince nomacs
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
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
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
window-screenshot
desktop-ctl
ocr-screenshot
menu-qalc
# meow
oneko
@ -136,4 +182,4 @@ in with lib; {
enable = true;
};
};
}
}

View file

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.jade = { pkgs, ... }: {
{...}: {
home-manager.users.jade = {pkgs, ...}: {
services.dunst = {
enable = true;
settings = {

View file

@ -1,5 +1,9 @@
{ pkgs, config, lib, ... }:
let
{
pkgs,
config,
lib,
...
}: let
cfg = config.jade.desktop.evremap;
evremap = pkgs.rustPlatform.buildRustPackage {
pname = "evremap";
@ -15,20 +19,21 @@ let
postPatch = ''
cp ${../../other/evremap.Cargo.lock} Cargo.lock
'';
nativeBuildInputs = [ pkgs.pkg-config ];
buildInputs = [ pkgs.libevdev ];
nativeBuildInputs = [pkgs.pkg-config];
buildInputs = [pkgs.libevdev];
};
in with lib; {
in
with lib; {
options.jade.desktop.evremap = {
enable = mkEnableOption "Enable evremap";
};
config = mkIf cfg.enable {
systemd.services.evremap = {
script = "${evremap}/bin/evremap remap ${../../other/remaps-${config.networking.hostName}.toml}";
wantedBy = [ "multi-user.target" ];
wantedBy = ["multi-user.target"];
unitConfig = {
Restart = "on-failure";
};
};
};
}
}

View file

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.jade = { pkgs, ... }: {
{...}: {
home-manager.users.jade = {pkgs, ...}: {
home.file = {
".tridactylrc" = {
text = ''
@ -46,49 +46,49 @@
bookmarks = [
{
name = "Katzencafé";
tags = [ "fedi" "social" ];
tags = ["fedi" "social"];
keyword = "ck";
url = "https://ck.katzen.cafe";
}
{
name = "Mastodon.de";
tags = [ "fedi" "social" ];
tags = ["fedi" "social"];
keyword = "mde";
url = "https://mastodon.de";
}
{
name = "Nekoverse";
tags = [ "fedi" "social" ];
tags = ["fedi" "social"];
keyword = "neko";
url = "https://social.nekover.se";
}
{
name = "Katzenschmiede";
tags = [ "fedi" "git" ];
tags = ["fedi" "git"];
keyword = "forge";
url = "https://forge.katzen.cafe";
}
{
name = "Katzenwolke";
tags = [ "cloud" ];
tags = ["cloud"];
keyword = "wolke";
url = "https://wolke.katzen.cafe";
}
{
name = "Penpot";
tags = [ "design" ];
tags = ["design"];
keyword = "pp";
url = "https://design.katzen.cafe";
}
{
name = "Pad";
tags = [ "pad" ];
tags = ["pad"];
keyword = "pad";
url = "https://pad.katzen.cafe";
}
{
name = "Auth";
tags = [ "keycloak" ];
tags = ["keycloak"];
keyword = "auth";
url = "https://auth.katzen.cafe/realms/katzen.cafe/account";
}
@ -133,71 +133,103 @@
default = "DuckDuckGo";
engines = {
"Nix Packages" = {
urls = [{
urls = [
{
template = "https://search.nixos.org/packages";
params = [
{ name = "query"; value = "{searchTerms}"; }
{
name = "query";
value = "{searchTerms}";
}
];
}
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "pkgs" ];
definedAliases = ["pkgs"];
};
"Nix Options" = {
urls = [{
urls = [
{
template = "https://search.nixos.org/options";
params = [
{ name = "query"; value = "{searchTerms}"; }
{
name = "query";
value = "{searchTerms}";
}
];
}
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "opts" ];
definedAliases = ["opts"];
};
"Home manager Options" = {
urls = [{
urls = [
{
template = "https://mipmip.github.io/home-manager-option-search/";
params = [
{ name = "query"; value = "{searchTerms}"; }
{
name = "query";
value = "{searchTerms}";
}
];
}
];
}];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "hm" ];
definedAliases = ["hm"];
};
"NixOS Wiki" = {
urls = [{
urls = [
{
template = "https://nixos.wiki/index.php?title=Special:Search&amp;search={searchTerms}&amp;namespace=0";
}];
}
];
icon = "${pkgs.nixos-icons}/share/icons/hicolor/scalable/apps/nix-snowflake.svg";
definedAliases = [ "nxwk" ];
definedAliases = ["nxwk"];
};
"lib.rs" = {
urls = [{
urls = [
{
template = "https://lib.rs/search";
params = [
{ name = "q"; value = "{searchTerms}"; }
{
name = "q";
value = "{searchTerms}";
}
];
}
];
}];
icon = "https://lib.rs/favicon.png";
definedAliases = [ "libs" ];
definedAliases = ["libs"];
};
"rust docs" = {
urls = [{
urls = [
{
template = "https://docs.rs/releases/search";
params = [
{ name = "query"; value = "{searchTerms}"; }
{
name = "query";
value = "{searchTerms}";
}
];
}
];
}];
icon = "https://docs.rs/-/static/favicon.ico";
definedAliases = [ "docs" ];
definedAliases = ["docs"];
};
"rust std docs" = {
urls = [{
urls = [
{
template = "https://docs.rust-lang.org/std/index.html";
params = [
{ name = "search"; value = "{searchTerms}"; }
{
name = "search";
value = "{searchTerms}";
}
];
}
];
}];
icon = "https://doc.rust-lang.org/favicon.ico";
definedAliases = [ "std" ];
definedAliases = ["std"];
};
"Bing".metaData.hidden = true;
"Google".metaData.hidden = true;

View file

@ -1,18 +1,22 @@
{ config, lib, pkgs, ... }:
let
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.gaming;
in with lib; {
in
with lib; {
options.jade.desktop.gaming = {
enable = mkEnableOption "Enable gaming stuff";
};
config = mkIf cfg.enable {
programs.steam.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
lutris
prismlauncher
];
};
};
}
}

View file

@ -1,7 +1,12 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.ios-compat;
in with lib; {
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.ios-compat;
in
with lib; {
options.jade.desktop.ios-compat = {
enable = mkEnableOption "Enable the ios compatability programs";
};
@ -10,7 +15,7 @@ in with lib; {
usbmuxd.enable = true;
gvfs.enable = true;
};
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
libimobiledevice
libimobiledevice-glue
@ -21,4 +26,4 @@ in with lib; {
];
};
};
}
}

View file

@ -1,17 +1,22 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.kdeconnect;
in with lib; {
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.kdeconnect;
in
with lib; {
options.jade.desktop.kdeconnect = {
enable = mkEnableOption "Enable KDE connect";
};
config = mkIf cfg.enable {
programs.kdeconnect.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
services.kdeconnect = {
enable = true;
indicator = true;
};
};
};
}
}

View file

@ -1,6 +1,9 @@
{ config, lib, pkgs, ... }:
let
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.mail;
imap = {
host = "imap.migadu.com";
@ -11,12 +14,13 @@ let
port = 465;
tls.enable = true;
};
in with lib; {
in
with lib; {
options.jade.desktop.mail = {
enable = mkEnableOption "Enable thunderbird mail stuff";
};
config = mkIf cfg.enable {
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
accounts.email.accounts = {
"Jade" = rec {
inherit imap smtp;
@ -70,4 +74,4 @@ in with lib; {
};
};
};
}
}

View file

@ -1,7 +1,11 @@
{ config, lib, pkgs, ... }:
let
addNuShebang = path: builtins.concatStringsSep "\n\n" [
{
config,
lib,
pkgs,
...
}: let
addNuShebang = path:
builtins.concatStringsSep "\n\n" [
"#!${pkgs.nushellFull}/bin/nu"
(builtins.readFile path)
];
@ -40,7 +44,7 @@ in {
];
};
};
environment.etc = (with builtins; (
environment.etc = with builtins; (
listToAttrs (
map (v: {
name = "networkhooks/${v}";
@ -51,10 +55,10 @@ in {
})
(attrNames (readDir ../../other/scripts/networkhooks))
)
));
);
systemd.services."NetworkManager-wait-online".enable = false;
services.mullvad-vpn.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
networkmanagerapplet
mullvad-vpn

View file

@ -1,8 +1,11 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
config = {
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
#xsession.windowManager.i3.config.startup = [
#{
#command = "pkill polybar; polybar";

View file

@ -1,12 +1,17 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.social;
in with lib; {
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.social;
in
with lib; {
options.jade.desktop.social = {
enable = mkEnableOption "Enable social apps";
};
config = mkIf cfg.enable {
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
evolutionWithPlugins
schildichat-desktop
@ -14,4 +19,4 @@ in with lib; {
];
};
};
}
}

View file

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
imports = [
./spacenav.nix
./wacom.nix

View file

@ -1,11 +1,10 @@
{ pkgs, ... }:
{
{pkgs, ...}: {
environment.systemPackages = with pkgs; [
spacenavd
libspnav
];
systemd.services.spacenavd = {
wantedBy = [ "graphical.target" ];
wantedBy = ["graphical.target"];
script = "${pkgs.spacenavd}/bin/spacenavd -d";
};
}

View file

@ -1,6 +1,6 @@
{ ... }: {
{...}: {
services.xserver.wacom.enable = true;
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = [
# TODO: figure out if the previous enabled option depends on these anyway
pkgs.libwacom

View file

@ -1,7 +1,12 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.desktop.syncthing;
in with lib; {
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.desktop.syncthing;
in
with lib; {
options.jade.desktop.syncthing = {
enable = mkEnableOption "Enable syncing via syncthing";
};
@ -13,4 +18,4 @@ in with lib; {
configDir = "/home/${user}/Documents/.config/syncthing";
};
};
}
}

View file

@ -1,11 +1,14 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
config = {
fonts.packages = with pkgs; [
atkinson-hyperlegible
];
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
home.packages = with pkgs; [
gtk-engine-murrine
gruvbox-dark-gtk

View file

@ -1,6 +1,11 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}:
with lib; {
home-manager.users.jade = { pkgs, ... }: {
home-manager.users.jade = {pkgs, ...}: {
xsession.windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;

View file

@ -1,5 +1,9 @@
{ config, lib, pkgs, ... }:
{
config,
lib,
pkgs,
...
}: {
config = {
networking = {
firewall = {
@ -9,7 +13,8 @@
22
# http, https
80 443
80
443
# syncthing web ui
8384

View file

@ -1,7 +1,12 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.flatpak;
in with lib; {
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.flatpak;
in
with lib; {
options.jade.flatpak = {
enable = mkEnableOption "Enable flatpak";
};
@ -14,4 +19,4 @@ in with lib; {
];
};
};
}
}

View file

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.jade = { pkgs, ... }: {
{...}: {
home-manager.users.jade = {pkgs, ...}: {
programs.git = {
enable = true;
userName = "Schrottkatze";

View file

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.jade = { pkgs, ... }: {
{...}: {
home-manager.users.jade = {pkgs, ...}: {
programs.carapace = {
enable = true;
};

View file

@ -1,4 +1,4 @@
{ ... }: {
{...}: {
imports = [
./helix.nix
./nu.nix

View file

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.jade = { pkgs, ... }: {
{...}: {
home-manager.users.jade = {pkgs, ...}: {
programs.direnv = {
enable = true;
nix-direnv.enable = true;

View file

@ -1,6 +1,5 @@
{ config, ... }:
{
home-manager.users.jade = { pkgs, ... }: {
{config, ...}: {
home-manager.users.jade = {pkgs, ...}: {
home = {
sessionVariables.EDITOR = "hx";
packages = [
@ -43,7 +42,7 @@
languages = {
language-server."nu-builtin-lsp" = {
command = "${config.users.defaultUserShell}/bin/nu";
args = [ "--lsp" ];
args = ["--lsp"];
};
language-server."rust-analyzer" = {
config = {
@ -61,7 +60,7 @@
language = [
{
name = "nu";
language-servers = [ "nu-builtin-lsp" ];
language-servers = ["nu-builtin-lsp"];
}
];
};

View file

@ -1,5 +1,5 @@
{ config, ... }: {
home-manager.users.jade = { pkgs, ... }: {
{config, ...}: {
home-manager.users.jade = {pkgs, ...}: {
programs.nushell = {
enable = true;
package = config.users.defaultUserShell;

View file

@ -1,5 +1,5 @@
{ ... }: {
home-manager.users.jade = { pkgs, ... }: {
{...}: {
home-manager.users.jade = {pkgs, ...}: {
programs.starship = {
enable = true;
settings = {

View file

@ -1,6 +1,9 @@
{ config, lib, ... }:
{
home-manager.users.jade = { pkgs, ... }: {
config,
lib,
...
}: {
home-manager.users.jade = {pkgs, ...}: {
home.file = {
zellij-forgot = {
target = ".config/zellij/plugins/zellij-forgot.wasm";

View file

@ -1,10 +1,16 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.NAME;
in with lib; {
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.NAME;
in
with lib; {
options.jade.NAME = {
enable = mkEnableOption "Enable the module";
};
config = mkIf cfg.enable {
config =
mkIf cfg.enable {
};
}
}

View file

@ -1,7 +1,12 @@
{ config, lib, pkgs, ... }:
let cfg = config.jade.terminal;
in with lib; {
{
config,
lib,
pkgs,
...
}: let
cfg = config.jade.terminal;
in
with lib; {
options.jade.terminal = {
enable = mkEnableOption "Enable Kitty";
};
@ -9,7 +14,7 @@ in with lib; {
environment.sessionVariables = rec {
TERMINAL = "kitty";
};
home-manager.users.jade = { pkgs,... } : {
home-manager.users.jade = {pkgs, ...}: {
programs.kitty = {
enable = true;
font = {
@ -41,4 +46,4 @@ in with lib; {
};
};
};
}
}

View file

@ -1,11 +1,14 @@
{ pkgs, lib }: rec {
{
pkgs,
lib,
}: rec {
# taken from https://github.com/NixOS/nixpkgs/blob/3650808d85dccbfa3be3d785dfd3ce33a757bd2c/pkgs/build-support/trivial-builders/default.nix#L335
writeNuShellApplication =
{ name
, text
, runtimeInputs ? [ ]
, meta ? { }
, checkPhase ? null
writeNuShellApplication = {
name,
text,
runtimeInputs ? [],
meta ? {},
checkPhase ? null,
}:
writeTextFile {
inherit name meta;
@ -13,12 +16,15 @@
destination = "/bin/${name}";
allowSubstitutes = true;
preferLocalBuild = false;
text = ''
text =
''
#!${pkgs.nushell}
'' + lib.optionalString (runtimeInputs != [ ]) ''
''
+ lib.optionalString (runtimeInputs != []) ''
$env.PATH = ($env.PATH | split row (char esep) | prepend '${lib.makeBinPath runtimeInputs}');
'' + ''
''
+ ''
${text}
'';
@ -26,7 +32,8 @@
checkPhase =
# GHC (=> shellcheck) isn't supported on some platforms (such as risc-v)
# but we still want to use writeShellApplication on those platforms
if checkPhase == null then ''
if checkPhase == null
then ''
runHook preCheck
nu -c "nu-check -d $target"
@ -35,12 +42,12 @@
''
else checkPhase;
};
packageNushellApplication =
{ name
, path
, runtimeInputs ? [ ]
, meta ? { }
, checkPhase ? null
packageNushellApplication = {
name,
path,
runtimeInputs ? [],
meta ? {},
checkPhase ? null,
}:
writeNuShellApplication {
inherit name runtimeInputs meta checkPhase;

View file

@ -1,6 +1,6 @@
{ pkgs, ... }:
{pkgs, ...}:
pkgs.writeShellScriptBin "desktopctl" ''
case $@ in
case $@ in
"Lock Screen")
loginctl lock-session
exit 0
@ -17,19 +17,19 @@ case $@ in
systemctl reboot
exit 0
;;
esac
esac
# resizes grid
echo -en "\0theme\x1flistview,inputbar,message{columns:4;lines:1;}\n"
# resizes window, moves it to top of screen, adjusts rounded corners
echo -en "\0theme\x1fwindow{width:800px;location:north;y-offset:24px;border-radius:0 0 12px 12px;}\n"
# swaps grid and input bar
echo -en "\0theme\x1fmainbox{children:[listview,inputbar];}\n"
# fixes brown line below input bar
echo -en "\0theme\x1finputbar{margin:0;}\n"
# resizes grid
echo -en "\0theme\x1flistview,inputbar,message{columns:4;lines:1;}\n"
# resizes window, moves it to top of screen, adjusts rounded corners
echo -en "\0theme\x1fwindow{width:800px;location:north;y-offset:24px;border-radius:0 0 12px 12px;}\n"
# swaps grid and input bar
echo -en "\0theme\x1fmainbox{children:[listview,inputbar];}\n"
# fixes brown line below input bar
echo -en "\0theme\x1finputbar{margin:0;}\n"
echo -en "Lock Screen\0icon\x1f${../../../other/assets/desktopctl/lock-screen.svg}\n"
echo -en "Log Out\0icon\x1f${../../../other/assets/desktopctl/logout.svg}\n"
echo -en "Shut Down\0icon\x1f${../../../other/assets/desktopctl/shutdown.svg}\n"
echo -en "Reboot\0icon\x1f${../../../other/assets/desktopctl/reboot.svg}\n"
echo -en "Lock Screen\0icon\x1f${../../../other/assets/desktopctl/lock-screen.svg}\n"
echo -en "Log Out\0icon\x1f${../../../other/assets/desktopctl/logout.svg}\n"
echo -en "Shut Down\0icon\x1f${../../../other/assets/desktopctl/shutdown.svg}\n"
echo -en "Reboot\0icon\x1f${../../../other/assets/desktopctl/reboot.svg}\n"
''