Compare commits

...

3 commits

Author SHA1 Message Date
Thilo Billerbeck 3b1d605c5d omit musescore, tweak inheritance of grouper, migrate desktop to plasma 6 2024-02-29 19:14:22 +01:00
Thilo Billerbeck 07a1841fda cleanup and format 2024-02-27 02:54:02 +01:00
Thilo Billerbeck 1121201acd flake.lock: Update
Flake lock file updates:

• Updated input 'home-manager':
    'github:nix-community/home-manager/4ee704cb13a5a7645436f400b9acc89a67b9c08a' (2024-02-24)
  → 'github:nix-community/home-manager/1d085ea4444d26aa52297758b333b449b2aa6fca' (2024-02-26)
2024-02-27 00:43:11 +01:00
38 changed files with 347 additions and 438 deletions

View file

@ -1,26 +1,29 @@
{ config, lib, pkgs, modulesPath, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ]; boot = {
boot.initrd.kernelModules = [ ]; initrd = {
boot.kernelModules = [ "kvm-amd" ]; availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
boot.extraModulePackages = [ ]; kernelModules = [ ];
fileSystems."/" =
{ device = "/dev/disk/by-uuid/2e1227f6-8725-43a3-aeb6-961df4ed9b25";
fsType = "ext4";
}; };
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ];
};
boot.initrd.luks.devices."luks-6f077715-c436-4254-acb2-66d8be0a0c55".device = "/dev/disk/by-uuid/6f077715-c436-4254-acb2-66d8be0a0c55"; fileSystems."/" = {
device = "/dev/disk/by-uuid/2e1227f6-8725-43a3-aeb6-961df4ed9b25";
fsType = "ext4";
};
fileSystems."/boot" = boot.initrd.luks.devices."luks-6f077715-c436-4254-acb2-66d8be0a0c55".device =
{ device = "/dev/disk/by-uuid/877C-C918"; "/dev/disk/by-uuid/6f077715-c436-4254-acb2-66d8be0a0c55";
fsType = "vfat";
}; fileSystems."/boot" = {
device = "/dev/disk/by-uuid/877C-C918";
fsType = "vfat";
};
swapDevices = [ ]; swapDevices = [ ];
@ -33,5 +36,6 @@
# networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true; # networking.interfaces.wlp2s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -1,44 +1,43 @@
{ inputs, pkgs, ... }: { inputs, pkgs, ... }:
{ {
home-manager.useGlobalPkgs = true; home-manager = {
home-manager.useUserPackages = true; useGlobalPkgs = true;
home-manager.extraSpecialArgs = { inherit inputs; }; useUserPackages = true;
home-manager.users.thilo = { extraSpecialArgs = { inherit inputs; };
imports = [ users.thilo = {
./../../home-manager/modules/machine.nix imports = [ ./../../home-manager/modules/machine.nix ];
];
machine = { machine = {
username = "thilo"; username = "thilo";
isGeneric = false; isGeneric = false;
isGnome = false; isGnome = false;
noiseSuppression.enable = true; noiseSuppression.enable = true;
isGraphical = true; isGraphical = true;
}; };
xsession.pointerCursor = { xsession.pointerCursor = {
name = "Bibata-Modern-Classic"; name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors; package = pkgs.bibata-cursors;
size = 128; size = 128;
}; };
programs.obs-studio = { programs.obs-studio = {
enable = true; enable = true;
/* plugins = with pkgs.obs-studio-plugins; [ /* plugins = with pkgs.obs-studio-plugins; [
obs-vaapi obs-vaapi
obs-teleport obs-teleport
droidcam-obs droidcam-obs
obs-gstreamer obs-gstreamer
obs-shaderfilter obs-shaderfilter
obs-command-source obs-command-source
obs-move-transition obs-move-transition
advanced-scene-switcher advanced-scene-switcher
]; */ ];
}; */
};
home.sessionVariables = { home.sessionVariables = { LD_LIBRARY_PATH = "${pkgs.libGL}/lib"; };
LD_LIBRARY_PATH = "${pkgs.libGL}/lib";
}; };
}; };
} }

View file

@ -1,35 +1,26 @@
{ { pkgs, ... }:
config,
pkgs,
lib,
...
}:
{ {
imports = imports = [ # Include the results of the hardware scan.
[ # Include the results of the hardware scan. ./hardware-configuration.nix
./hardware-configuration.nix ./../../nixos/common.nix
./../../nixos/common.nix ];
];
# Bootloader. # Bootloader.
boot.loader.systemd-boot.enable = true; boot.loader = {
boot.loader.efi.canTouchEfiVariables = true; systemd-boot.enable = true;
efi.canTouchEfiVariables = true;
};
# Setup keyfile # Setup keyfile
boot.initrd.secrets = { boot.initrd.secrets = { "/crypto_keyfile.bin" = null; };
"/crypto_keyfile.bin" = null;
};
networking.hostName = "thilo-laptop"; # Define your hostname. networking.hostName = "thilo-laptop"; # Define your hostname.
# Configure console keymap # Configure console keymap
console.keyMap = "de"; console.keyMap = "de";
environment.gnome.excludePackages = with pkgs; [ environment.gnome.excludePackages = with pkgs; [ tracker tracker-miners ];
tracker
tracker-miners
];
hardware.bluetooth.enable = true; hardware.bluetooth.enable = true;
@ -50,10 +41,7 @@
fwupd.enable = true; fwupd.enable = true;
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [ brlaser brgenml1lpr ];
brlaser
brgenml1lpr
];
system.stateVersion = "23.05"; system.stateVersion = "23.05";
} }

View file

@ -1,34 +1,38 @@
# 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, ... }: { config, lib, modulesPath, ... }:
{ {
imports = imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
[ (modulesPath + "/installer/scan/not-detected.nix")
];
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ]; boot = {
boot.initrd.kernelModules = [ ]; initrd = {
boot.kernelModules = [ "kvm-amd" ]; availableKernelModules =
boot.extraModulePackages = [ ]; [ "nvme" "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ];
kernelModules = [ ];
};
kernelModules = [ "kvm-amd" ];
extraModulePackages = [ ];
};
fileSystems."/" = fileSystems = {
{ device = "/dev/disk/by-uuid/34eb30d5-5faa-409f-81ee-7b996d37534a"; "/" = {
device = "/dev/disk/by-uuid/34eb30d5-5faa-409f-81ee-7b996d37534a";
fsType = "btrfs"; fsType = "btrfs";
options = [ "subvol=@" ]; options = [ "subvol=@" ];
}; };
fileSystems."/data" = "/data" = {
{
device = "/dev/disk/by-uuid/91f64815-1d3c-4032-960f-0a53eb3b01ab"; device = "/dev/disk/by-uuid/91f64815-1d3c-4032-960f-0a53eb3b01ab";
fsType = "btrfs"; fsType = "btrfs";
}; };
fileSystems."/boot" = "/boot" = {
{ device = "/dev/disk/by-uuid/0EB3-BFB0"; device = "/dev/disk/by-uuid/0EB3-BFB0";
fsType = "vfat"; fsType = "vfat";
}; };
};
swapDevices = [ ]; swapDevices = [ ];
@ -40,5 +44,6 @@
# networking.interfaces.enp8s0.useDHCP = lib.mkDefault true; # networking.interfaces.enp8s0.useDHCP = lib.mkDefault true;
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux"; nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware; hardware.cpu.amd.updateMicrocode =
lib.mkDefault config.hardware.enableRedistributableFirmware;
} }

View file

@ -1,37 +1,33 @@
{ inputs, pkgs, ... }: { inputs, pkgs, ... }:
{ {
home-manager.useGlobalPkgs = true; home-manager = {
home-manager.useUserPackages = true; useGlobalPkgs = true;
home-manager.extraSpecialArgs = { inherit inputs; }; useUserPackages = true;
home-manager.users.thilo = { extraSpecialArgs = { inherit inputs; };
imports = [ users.thilo = {
./../../home-manager/modules/machine.nix imports = [ ./../../home-manager/modules/machine.nix ];
];
machine = { machine = {
username = "thilo"; username = "thilo";
isGeneric = false; isGeneric = false;
isGnome = false; isGnome = false;
noiseSuppression.enable = true; noiseSuppression.enable = true;
isGraphical = true; isGraphical = true;
};
/* xsession.pointerCursor = {
name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors;
size = 128;
}; */
services.kdeconnect.enable = true;
services.kdeconnect.indicator = true;
home.sessionVariables = { LD_LIBRARY_PATH = "${pkgs.libGL}/lib"; };
home.packages = with pkgs; [ libsForQt5.discover ];
}; };
xsession.pointerCursor = {
name = "Bibata-Modern-Classic";
package = pkgs.bibata-cursors;
size = 128;
};
services.kdeconnect.enable = true;
services.kdeconnect.indicator = true;
home.sessionVariables = {
LD_LIBRARY_PATH = "${pkgs.libGL}/lib";
};
home.packages = with pkgs; [
libsForQt5.discover
];
}; };
} }

View file

@ -1,11 +1,7 @@
# 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, ... }:
, pkgs
, lib
, ...
}:
{ {
imports = [ imports = [
@ -15,12 +11,18 @@
]; ];
# Bootloader. # Bootloader.
boot.loader.systemd-boot.enable = true; boot = {
boot.loader.efi.canTouchEfiVariables = true; loader = {
boot.loader.systemd-boot.extraInstallCommands = '' systemd-boot = {
${pkgs.gnused}/bin/sed -i "/default/c\default @saved" /boot/loader/loader.conf enable = true;
''; extraInstallCommands = ''
boot.kernelPackages = pkgs.linuxPackages_latest; ${pkgs.gnused}/bin/sed -i "/default/c\default @saved" /boot/loader/loader.conf
'';
};
efi.canTouchEfiVariables = true;
};
kernelPackages = pkgs.linuxPackages_latest;
};
networking.hostName = "thilo-pc"; networking.hostName = "thilo-pc";
@ -29,18 +31,15 @@
xserver = { xserver = {
enable = true; enable = true;
displayManager.sddm.enable = true; displayManager.sddm.enable = true;
displayManager.defaultSession = "plasmawayland"; displayManager.defaultSession = "plasma";
desktopManager.plasma5.enable = true; desktopManager.plasma6.enable = true;
layout = "us"; layout = "us";
xkbVariant = ""; xkbVariant = "";
}; };
}; };
hardware.opengl = { hardware.opengl = {
extraPackages = with pkgs; [ extraPackages = with pkgs; [ vaapiVdpau libvdpau-va-gl ];
vaapiVdpau
libvdpau-va-gl
];
}; };
system.stateVersion = "23.05"; system.stateVersion = "23.05";

View file

@ -1,15 +1,13 @@
{ inputs, ... }: { ... }:
{ {
imports = [ imports = [ ./../../home-manager/modules/machine.nix ];
./../../home-manager/modules/machine.nix
];
machine = { machine = {
username = "thilo"; username = "thilo";
isGeneric = true; isGeneric = true;
isGnome = false; isGnome = false;
noiseSuppression.enable = false; noiseSuppression.enable = false;
isGraphical = false; isGraphical = false;
}; };
} }

View file

@ -7,11 +7,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708440115, "lastModified": 1709049058,
"narHash": "sha256-j3n3LiEmsn2V5HqhzHf+nh7JrHGbFmzLMm9qnmzFPxw=", "narHash": "sha256-RLag2Uy3wezy+oW+bsEwloDRaxV9BV/QdzHmSz1Ciwo=",
"owner": "dagger", "owner": "dagger",
"repo": "nix", "repo": "nix",
"rev": "b489ac4da2e88296611e5841f4580ebc185d7b83", "rev": "c4d98a163455709a6d8bba53465854981e115c15",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -119,11 +119,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1708806879, "lastModified": 1709204054,
"narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=", "narHash": "sha256-U1idK0JHs1XOfSI1APYuXi4AEADf+B+ZU4Wifc0pBHk=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a", "rev": "2f3367769a93b226c467551315e9e270c3f78b15",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -381,11 +381,11 @@
}, },
"nixpkgs_5": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1708807242, "lastModified": 1709150264,
"narHash": "sha256-sRTRkhMD4delO/hPxxi+XwLqPn8BuUq6nnj4JqLwOu0=", "narHash": "sha256-HofykKuisObPUfj0E9CJVfaMhawXkYx3G8UIFR/XQ38=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "73de017ef2d18a04ac4bfd0c02650007ccb31c2a", "rev": "9099616b93301d5cf84274b184a3a5ec69e94e08",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -2,12 +2,8 @@
description = "Nixos config"; description = "Nixos config";
inputs = { inputs = {
nixpkgs = { nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; };
url = "github:NixOS/nixpkgs/nixos-unstable"; nixpkgs-update = { url = "github:ryantm/nixpkgs-update"; };
};
nixpkgs-update = {
url = "github:ryantm/nixpkgs-update";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager"; url = "github:nix-community/home-manager";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -20,19 +16,16 @@
muse-sounds-manager.url = "github:thilobillerbeck/muse-sounds-manager-nix"; muse-sounds-manager.url = "github:thilobillerbeck/muse-sounds-manager-nix";
}; };
outputs = { self, nixpkgs, home-manager, nixgl, ... }@inputs: outputs = { nixpkgs, home-manager, nixgl, ... }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = import nixpkgs { pkgs = import nixpkgs {
system = "${system}"; system = "${system}";
overlays = [ nixgl.overlay ]; overlays = [ nixgl.overlay ];
}; };
in in {
{
nixConfig = { nixConfig = {
extra-substituters = [ extra-substituters = [ "https://nix-community.cachix.org" ];
"https://nix-community.cachix.org"
];
extra-trusted-public-keys = [ extra-trusted-public-keys = [
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
]; ];
@ -55,10 +48,11 @@
]; ];
specialArgs = { inherit inputs; }; specialArgs = { inherit inputs; };
}; };
homeConfigurations."thilo@thilo-pc-win" = home-manager.lib.homeManagerConfiguration { homeConfigurations."thilo@thilo-pc-win" =
inherit pkgs; home-manager.lib.homeManagerConfiguration {
modules = [ ./configs/wsl/home.nix ]; inherit pkgs;
extraSpecialArgs = { inherit inputs; }; modules = [ ./configs/wsl/home.nix ];
}; extraSpecialArgs = { inherit inputs; };
};
}; };
} }

View file

@ -1,6 +1,5 @@
{ lib, pkgs, config, ... }: { lib, pkgs, config, ... }:
with lib; with lib; {
{
imports = [ imports = [
./../programs/alacritty.nix ./../programs/alacritty.nix
./../programs/bat.nix ./../programs/bat.nix
@ -70,8 +69,9 @@ with lib;
include "/usr/share/nano/*.nanorc" include "/usr/share/nano/*.nanorc"
''; '';
".ssh/config_source" = { ".ssh/config_source" = {
source = ./../dotfiles/ssh-config; source = ./../dotfiles/ssh-config;
onChange = ''cat ~/.ssh/config_source > ~/.ssh/config && chmod 600 ~/.ssh/config''; onChange =
"cat ~/.ssh/config_source > ~/.ssh/config && chmod 600 ~/.ssh/config";
}; };
".gitignore".source = ./../dotfiles/.gitignore; ".gitignore".source = ./../dotfiles/.gitignore;
".config/pipewire/pipewire.conf.d/99-noise-suppression.conf".text = '' ".config/pipewire/pipewire.conf.d/99-noise-suppression.conf".text = ''

View file

@ -2,128 +2,126 @@
with lib; with lib;
let let
electronFlags = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --disable-gpu-shader-disk-cache -n"; electronFlags =
"--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --disable-gpu-shader-disk-cache -n";
in { in {
config = { config = {
nixpkgs.overlays = [ nixpkgs.overlays = [
(final: prev: { (_: prev: {
quickemu = prev.quickemu.overrideAttrs (old: { quickemu = prev.quickemu.overrideAttrs (old: {
patches = (old.patches or [ ]) ++ [ patches = (old.patches or [ ]) ++ [ ./../patches/quickemu.patch ];
./../patches/quickemu.patch
];
}); });
}) })
]; ];
home.packages = with pkgs; [ home.packages = with pkgs;
up [
htop up
rustc htop
cargo rustc
nixfmt cargo
nodejs nixfmt
bun nodejs
deno bun
devbox deno
tldr devbox
flutter tldr
nurl flutter
hcloud nurl
tea hcloud
dgraph tea
nix-init dgraph
nodePackages.nodemon nix-init
pocketbase nodePackages.nodemon
thefuck pocketbase
hub thefuck
httpie hub
manix httpie
(pkgs.writeShellScriptBin "ssh-fix-permissions" manix
(builtins.readFile ./../scripts/ssh-fix-permissions.sh)) (pkgs.writeShellScriptBin "ssh-fix-permissions"
(pkgs.writeShellScriptBin "yt-dlp-audio" (builtins.readFile ./../scripts/ssh-fix-permissions.sh))
(builtins.readFile ./../scripts/yt-dlp-audio.sh)) (pkgs.writeShellScriptBin "yt-dlp-audio"
(pkgs.writeShellScriptBin "nix-shell-init" (builtins.readFile ./../scripts/yt-dlp-audio.sh))
(builtins.readFile ./../scripts/nix-shell-init.sh)) (pkgs.writeShellScriptBin "nix-shell-init"
(pkgs.writeShellScriptBin "http-server" '' (builtins.readFile ./../scripts/nix-shell-init.sh))
${pkgs.caddy}/bin/caddy file-server --listen :2345 (pkgs.writeShellScriptBin "http-server" ''
'') ${pkgs.caddy}/bin/caddy file-server --listen :2345
(pkgs.writeShellScriptBin "nix-build-default" '' '')
nix-build -E 'with import <nixpkgs> { }; callPackage ./default.nix { }' (pkgs.writeShellScriptBin "nix-build-default" ''
'') nix-build -E 'with import <nixpkgs> { }; callPackage ./default.nix { }'
(callPackage ./../pkgs/toggl-time-grouper/package.nix { '')
inherit lib; (callPackage ./../pkgs/toggl-time-grouper/package.nix { inherit python3Packages; })
}) nixpkgs-fmt
nixpkgs-fmt toolbox
toolbox distrobox
distrobox ddev
ddev act
act mkcert
mkcert pulumi
pulumi kubectl
kubectl pulumiPackages.pulumi-language-nodejs
pulumiPackages.pulumi-language-nodejs ncdu
ncdu inputs.devenv.packages.x86_64-linux.devenv
inputs.devenv.packages.x86_64-linux.devenv inputs.nixpkgs-update.packages.x86_64-linux.nixpkgs-update
inputs.nixpkgs-update.packages.x86_64-linux.nixpkgs-update inputs.dagger.packages.x86_64-linux.dagger
inputs.dagger.packages.x86_64-linux.dagger unzip
unzip gh
gh nil
nil nixd
nixd unrar
unrar ] ++ (if config.machine.isGraphical then [
] ++ (if config.machine.isGraphical then [ (pkgs.nerdfonts.override {
(pkgs.nerdfonts.override { fonts = [ "JetBrainsMono" "FiraCode" "FiraMono" ];
fonts = [ "JetBrainsMono" "FiraCode" "FiraMono" ]; })
}) corefonts
corefonts vistafonts
vistafonts jetbrains.webstorm
jetbrains.webstorm jetbrains.phpstorm
jetbrains.phpstorm jetbrains.rust-rover
jetbrains.rust-rover jetbrains.goland
jetbrains.goland element-desktop
element-desktop ludusavi
ludusavi dbeaver
dbeaver insomnia
insomnia onlyoffice-bin
onlyoffice-bin spotify
spotify vesktop
vesktop (lutris.override {
(lutris.override { extraLibraries = _: [ gnome3.adwaita-icon-theme ];
extraLibraries = pkgs: [ extraPkgs = _: [
gnome3.adwaita-icon-theme wineWowPackages.full
]; winetricks
extraPkgs = pkgs: [ gnome3.adwaita-icon-theme
wineWowPackages.full ];
winetricks })
gnome3.adwaita-icon-theme bottles
]; protontricks
}) heroic
bottles (vscode.override { commandLineArgs = electronFlags; })
protontricks quickemu
heroic quickgui
(vscode.override { commandLineArgs = electronFlags; }) trilium-desktop
quickemu anki
quickgui inputs.muse-sounds-manager.packages.x86_64-linux.muse-sounds-manager
trilium-desktop jetbrains-toolbox
anki mumble
inputs.muse-sounds-manager.packages.x86_64-linux.muse-sounds-manager prusa-slicer
jetbrains-toolbox trayscale
mumble gnome.gnome-disk-utility
prusa-slicer inkscape
trayscale # musescore
gnome.gnome-disk-utility obsidian
inkscape syncthingtray
musescore reaper
obsidian yabridge
syncthingtray ] else
reaper [ ]) ++ (if config.machine.isGnome then [
yabridge gnomeExtensions.blur-my-shell
] else [ ]) ++ (if config.machine.isGnome then [ gnomeExtensions.dash-to-panel
gnomeExtensions.blur-my-shell gnomeExtensions.user-themes
gnomeExtensions.dash-to-panel gnomeExtensions.vitals
gnomeExtensions.user-themes gnomeExtensions.custom-accent-colors
gnomeExtensions.vitals ] else
gnomeExtensions.custom-accent-colors [ ]);
] else [ ]);
}; };
} }

View file

@ -1,7 +1,4 @@
{ lib { lib, stdenv, fetchFromGitHub }:
, stdenv
, fetchFromGitHub
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "docker-craft-cms-dev-env"; pname = "docker-craft-cms-dev-env";
@ -20,7 +17,8 @@ stdenv.mkDerivation rec {
''; '';
meta = with lib; { meta = with lib; {
description = "Docker image for local development of sites based on Craft CMS"; description =
"Docker image for local development of sites based on Craft CMS";
homepage = "https://github.com/codemonauts/docker-craft-cms-dev-env"; homepage = "https://github.com/codemonauts/docker-craft-cms-dev-env";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];

View file

@ -1,8 +1,4 @@
{ lib { lib, buildNpmPackage, fetchFromGitHub }:
, stdenv
, buildNpmPackage
, fetchFromGitHub
}:
buildNpmPackage rec { buildNpmPackage rec {
pname = "spx-gc"; pname = "spx-gc";
@ -25,7 +21,8 @@ buildNpmPackage rec {
''; '';
meta = with lib; { meta = with lib; {
description = "SPX is a graphics control client for live video productions and live streams using CasparCG, OBS, vMix, or similar software"; description =
"SPX is a graphics control client for live video productions and live streams using CasparCG, OBS, vMix, or similar software";
homepage = "https://github.com/TuomoKu/SPX-GC#npminstall"; homepage = "https://github.com/TuomoKu/SPX-GC#npminstall";
license = licenses.mit; license = licenses.mit;
maintainers = with maintainers; [ ]; maintainers = with maintainers; [ ];

View file

@ -1,7 +1,7 @@
{ lib, python3Packages }: { python3Packages }:
with python3Packages; with python3Packages;
buildPythonApplication { buildPythonApplication {
name = "toggl-time-grouper"; name = "toggl-time-grouper";
src = ./.; src = ./.;
propagatedBuildInputs = [ pandas ]; propagatedBuildInputs = [ pandas ];
} }

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }: { config, ... }:
{ {
programs.alacritty = { programs.alacritty = {

View file

@ -1,5 +1 @@
{ config, pkgs, lib, ... }: { programs.bat = { enable = true; }; }
{
programs.bat = { enable = true; };
}

View file

@ -1,5 +1,3 @@
{ config, pkgs, lib, ... }:
{ {
programs.beets = { programs.beets = {
enable = false; enable = false;

View file

@ -22,30 +22,23 @@ let
isEnabled = if config.machine.isGraphical then true else false; isEnabled = if config.machine.isGraphical then true else false;
dictionaries = with pkgs.hunspellDictsChromium; [ en_US de_DE ]; dictionaries = with pkgs.hunspellDictsChromium; [ en_US de_DE ];
commandLineArgs = [ commandLineArgs = [
"--ignore-gpu-blocklist" "--ignore-gpu-blocklist"
"--enable-gpu-rasterization" "--enable-gpu-rasterization"
"--enable-zero-copy" "--enable-zero-copy"
"--enable-features=VaapiVideoDecoder,VaapiVideoEncoder,WebRTCPipeWireCapturer" "--enable-features=VaapiVideoDecoder,VaapiVideoEncoder,WebRTCPipeWireCapturer"
"--disable-features=UseChromeOSDirectVideoDecoder" "--disable-features=UseChromeOSDirectVideoDecoder"
"--use-vulkan" "--use-vulkan"
"--ozone-platform-hint=auto" "--ozone-platform-hint=auto"
"--enable-hardware-overlays" "--enable-hardware-overlays"
]; ];
extensions = map extensions = map (eid: { id = eid; }) chromium_extension;
(eid: { in {
id = eid;
})
chromium_extension;
in
{
programs.chromium = { programs.chromium = {
inherit dictionaries commandLineArgs extensions;
enable = isEnabled; enable = isEnabled;
dictionaries = dictionaries;
commandLineArgs = commandLineArgs;
extensions = extensions;
}; };
programs.google-chrome = { programs.google-chrome = {
inherit commandLineArgs;
enable = isEnabled; enable = isEnabled;
commandLineArgs = commandLineArgs;
}; };
} }

View file

@ -1,5 +1 @@
{ config, pkgs, lib, ... }: { programs.command-not-found = { enable = true; }; }
{
programs.command-not-found = { enable = true; };
}

View file

@ -1,5 +1,3 @@
{ config, pkgs, lib, ... }:
{ {
programs.dircolors = { programs.dircolors = {
enable = true; enable = true;

View file

@ -1,5 +1,3 @@
{ config, pkgs, lib, ... }:
{ {
programs.direnv = { programs.direnv = {
enable = true; enable = true;

View file

@ -4,4 +4,4 @@
programs.firefox = { programs.firefox = {
enable = if config.machine.isGraphical then true else false; enable = if config.machine.isGraphical then true else false;
}; };
} }

View file

@ -1,5 +1,3 @@
{ config, pkgs, lib, ... }:
{ {
programs.fzf = { programs.fzf = {
enable = true; enable = true;

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }: { pkgs, ... }:
{ {
programs.git = { programs.git = {
@ -27,7 +27,5 @@
branch = { autosetuprebase = "always"; }; branch = { autosetuprebase = "always"; };
}; };
}; };
programs.git-credential-oauth = { programs.git-credential-oauth = { enable = true; };
enable = true;
};
} }

View file

@ -1,7 +1 @@
{ config, pkgs, lib, ... }: { programs.go = { enable = true; }; }
{
programs.go = {
enable = true;
};
}

View file

@ -1,5 +1 @@
{ config, pkgs, lib, ... }: { programs.hstr = { enable = true; }; }
{
programs.hstr = { enable = true; };
}

View file

@ -1,5 +1,3 @@
{ config, pkgs, lib, ... }:
{ {
programs.htop = { programs.htop = {
enable = true; enable = true;

View file

@ -5,4 +5,4 @@
enable = if config.machine.isGraphical then true else false; enable = if config.machine.isGraphical then true else false;
scripts = with pkgs.mpvScripts; [ autoload mpris sponsorblock ]; scripts = with pkgs.mpvScripts; [ autoload mpris sponsorblock ];
}; };
} }

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }: { pkgs, ... }:
{ {
programs.neovim = { programs.neovim = {

View file

@ -1,5 +1,3 @@
{ config, pkgs, lib, ... }:
{ {
programs.starship = { programs.starship = {
enable = true; enable = true;

View file

@ -1,7 +1 @@
{ config, pkgs, lib, ... }: { services.syncthing = { enable = true; }; }
{
services.syncthing = {
enable = true;
};
}

View file

@ -1,7 +1,10 @@
{ config, pkgs, lib, ... }: { config, ... }:
let let
configPath = if config.machine.isGeneric then "${config.home.homeDirectory}/.config/home-manager" else "${config.home.homeDirectory}/.nixos-config"; configPath = if config.machine.isGeneric then
"${config.home.homeDirectory}/.config/home-manager"
else
"${config.home.homeDirectory}/.nixos-config";
in { in {
programs.topgrade = { programs.topgrade = {
enable = true; enable = true;
@ -13,18 +16,13 @@ in {
pre_sudo = false; pre_sudo = false;
cleanup = true; cleanup = true;
skip_notify = true; skip_notify = true;
disable = [ disable = [ "bun" "tldr" "flutter" ];
"bun"
"tldr"
"flutter"
];
}; };
git.repos = [ git.repos = [ configPath ];
configPath
];
firmware = { upgrade = true; }; firmware = { upgrade = true; };
pre_commands = { pre_commands = {
flakeUpgrade = "cd ${configPath} && nix flake update --commit-lock-file --verbose --repair"; flakeUpgrade =
"cd ${configPath} && nix flake update --commit-lock-file --verbose --repair";
}; };
}; };
}; };

View file

@ -1,6 +1,2 @@
{ config, pkgs, lib, ... }: { programs.yt-dlp = { enable = true; }; }
{
programs.yt-dlp = { enable = true; };
}

View file

@ -1,4 +1,4 @@
{ config, pkgs, lib, ... }: { pkgs, ... }:
let let
omz-plugins = [ omz-plugins = [
"git" "git"

View file

@ -1,5 +1,4 @@
{ pkgs, lib, ... }:
{ config, pkgs, lib, ... }:
let let
chromeArgs = lib.strings.concatStringsSep " " [ chromeArgs = lib.strings.concatStringsSep " " [
@ -16,15 +15,15 @@ let
"--ozone-platform-hint=auto" "--ozone-platform-hint=auto"
"--enable-features=WaylandWindowDecorations" "--enable-features=WaylandWindowDecorations"
]; ];
code-wrapper = (pkgs.writeShellScriptBin "code" '' code-wrapper = pkgs.writeShellScriptBin "code" ''
exec /usr/bin/code ${codeArgs} "$@" exec /usr/bin/code ${codeArgs} "$@"
''); '';
chrome-wrapper = (pkgs.writeShellScriptBin "google-chrome" '' chrome-wrapper = pkgs.writeShellScriptBin "google-chrome" ''
exec /usr/bin/google-chrome ${chromeArgs} "$@" exec /usr/bin/google-chrome ${chromeArgs} "$@"
''); '';
chrome-stable-wrapper = (pkgs.writeShellScriptBin "google-chrome-stable" '' chrome-stable-wrapper = pkgs.writeShellScriptBin "google-chrome-stable" ''
exec /usr/bin/google-chrome-stable ${chromeArgs} "$@" exec /usr/bin/google-chrome-stable ${chromeArgs} "$@"
''); '';
in { in {
home.packages = with pkgs; [ home.packages = with pkgs; [
code-wrapper code-wrapper
@ -202,7 +201,7 @@ in {
Name[vi]=Ca s Mi Name[vi]=Ca s Mi
Name[zh_CN]= Name[zh_CN]=
Name[zh_TW]= Name[zh_TW]=
Exec=/usr/bin/google-chrome-stable ${chromeArgs} Exec=/usr/bin/google-chrome-stable ${chromeArgs}
[Desktop Action new-private-window] [Desktop Action new-private-window]
Name=New Incognito Window Name=New Incognito Window

View file

@ -8,18 +8,15 @@
sandbox = relaxed sandbox = relaxed
''; '';
settings = { settings = {
trusted-users = [ trusted-users = [ "root" "thilo" ];
"root"
"thilo"
];
trusted-substituters = [ trusted-substituters = [
"https://cache.nixos.org" "https://cache.nixos.org"
"https://nix-community.cachix.org" "https://nix-community.cachix.org"
"https://nixpkgs-update.cachix.org" "https://nixpkgs-update.cachix.org"
"https://devenv.cachix.org" "https://devenv.cachix.org"
]; ];
trusted-public-keys = [ trusted-public-keys = [
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
"nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=" "nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs="
"nixpkgs-update.cachix.org-1:6y6Z2JdoL3APdu6/+Iy8eZX2ajf09e4EE9SnxSML1W8=" "nixpkgs-update.cachix.org-1:6y6Z2JdoL3APdu6/+Iy8eZX2ajf09e4EE9SnxSML1W8="
"devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw=" "devenv.cachix.org-1:w1cLUi8dv3hnoSPGAuibQv+f9TZLr6cv/Hm9XgU50cw="

View file

@ -1,31 +1,22 @@
{ config { config, pkgs, lib, inputs, ... }:
, pkgs
, lib
, inputs
, ...
}:
{ {
imports = [ imports = [ ./../nix.nix ];
./../nix.nix
];
nix = { nix = {
# This will add each flake input as a registry # This will add each flake input as a registry
# To make nix3 commands consistent with your flake # To make nix3 commands consistent with your flake
registry = lib.mapAttrs (_: value: {flake = value;}) inputs; registry = lib.mapAttrs (_: value: { flake = value; }) inputs;
# This will additionally add your inputs to the system's legacy channels # This will additionally add your inputs to the system's legacy channels
# Making legacy nix commands consistent as well, awesome! # Making legacy nix commands consistent as well, awesome!
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry; nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}")
config.nix.registry;
}; };
nixpkgs = { nixpkgs = {
config = { config = {
permittedInsecurePackages = [ permittedInsecurePackages = [ "electron-24.8.6" "electron-25.9.0" ];
"electron-24.8.6"
"electron-25.9.0"
];
allowUnfree = true; allowUnfree = true;
}; };
}; };
@ -44,7 +35,7 @@
LC_TIME = "de_DE.UTF-8"; LC_TIME = "de_DE.UTF-8";
}; };
users.users.thilo = { users.users.thilo = {
uid = 1000; uid = 1000;
description = "Thilo Billerbeck"; description = "Thilo Billerbeck";
shell = pkgs.zsh; shell = pkgs.zsh;
@ -85,12 +76,7 @@
noisetorch.enable = true; noisetorch.enable = true;
}; };
environment.systemPackages = with pkgs; [ environment.systemPackages = with pkgs; [ git zsh kitty steamtinkerlaunch ];
git
zsh
kitty
steamtinkerlaunch
];
networking.networkmanager.enable = true; networking.networkmanager.enable = true;
@ -103,9 +89,7 @@
pulse.enable = true; pulse.enable = true;
jack.enable = true; jack.enable = true;
}; };
tailscale = { tailscale = { enable = true; };
enable = true;
};
flatpak.enable = true; flatpak.enable = true;
avahi = { avahi = {
enable = true; enable = true;
@ -117,13 +101,17 @@
}; };
}; };
hardware.opengl.driSupport = true; hardware = {
hardware.opengl.driSupport32Bit = true; pulseaudio.enable = false;
opengl = {
driSupport = true;
driSupport32Bit = true;
};
};
security.polkit.enable = true; security.polkit.enable = true;
sound.enable = true; sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true; security.rtkit.enable = true;
time.hardwareClockInLocalTime = true; time.hardwareClockInLocalTime = true;
} }