mirror of
https://github.com/thilobillerbeck/dotfiles.git
synced 2024-12-22 20:13:04 +01:00
Compare commits
11 commits
299df4379b
...
6bbbb8e7b6
Author | SHA1 | Date | |
---|---|---|---|
6bbbb8e7b6 | |||
3bceb198a8 | |||
5da37d8133 | |||
227f301c89 | |||
b2d0f91bae | |||
1b8925a3f9 | |||
9eba7ef5f0 | |||
0ed9bf1a23 | |||
0eae7cd3cf | |||
7e0206a700 | |||
e92ec43c58 |
35 changed files with 495 additions and 321 deletions
|
@ -1,8 +1,15 @@
|
||||||
{ pkgs, config, lib, inputs, ... }:
|
{
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
nixGL = import ./../../home-manager/utils/nixGLWrap.nix { inherit pkgs config; };
|
nixGL = import ./../../home-manager/utils/nixGLWrap.nix { inherit pkgs config; };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
imports = [ ./../../home-manager/modules/machine.nix ];
|
imports = [ ./../../home-manager/modules/machine.nix ];
|
||||||
|
|
||||||
machine = {
|
machine = {
|
||||||
|
|
|
@ -1,11 +1,21 @@
|
||||||
{ config, lib, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules = [ "nvme" "xhci_pci" "usb_storage" "sd_mod" ];
|
availableKernelModules = [
|
||||||
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
kernelModules = [ ];
|
kernelModules = [ ];
|
||||||
};
|
};
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
@ -17,8 +27,7 @@
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
};
|
};
|
||||||
|
|
||||||
boot.initrd.luks.devices."luks-6f077715-c436-4254-acb2-66d8be0a0c55".device =
|
boot.initrd.luks.devices."luks-6f077715-c436-4254-acb2-66d8be0a0c55".device = "/dev/disk/by-uuid/6f077715-c436-4254-acb2-66d8be0a0c55";
|
||||||
"/dev/disk/by-uuid/6f077715-c436-4254-acb2-66d8be0a0c55";
|
|
||||||
|
|
||||||
fileSystems."/boot" = {
|
fileSystems."/boot" = {
|
||||||
device = "/dev/disk/by-uuid/877C-C918";
|
device = "/dev/disk/by-uuid/877C-C918";
|
||||||
|
@ -36,6 +45,5 @@
|
||||||
# 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 =
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,9 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
users.thilo = {
|
users.thilo = {
|
||||||
imports = [ ./../../home-manager/modules/machine.nix ];
|
imports = [ ./../../home-manager/modules/machine.nix ];
|
||||||
|
|
||||||
|
@ -16,7 +18,9 @@
|
||||||
isGraphical = true;
|
isGraphical = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
home.sessionVariables = { LD_LIBRARY_PATH = "${pkgs.libGL}/lib"; };
|
home.sessionVariables = {
|
||||||
|
LD_LIBRARY_PATH = "${pkgs.libGL}/lib";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ # Include the results of the hardware scan.
|
imports = [
|
||||||
|
# Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
./../../nixos/common.nix
|
./../../nixos/common.nix
|
||||||
./../../nixos/builders.nix
|
./../../nixos/builders.nix
|
||||||
|
@ -15,14 +16,19 @@
|
||||||
boot.plymouth.enable = true;
|
boot.plymouth.enable = true;
|
||||||
|
|
||||||
# Setup keyfile
|
# Setup keyfile
|
||||||
boot.initrd.secrets = { "/crypto_keyfile.bin" = null; };
|
boot.initrd.secrets = {
|
||||||
|
"/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; [ tracker tracker-miners ];
|
environment.gnome.excludePackages = with pkgs; [
|
||||||
|
tracker
|
||||||
|
tracker-miners
|
||||||
|
];
|
||||||
|
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
@ -66,18 +72,16 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ brlaser brgenml1lpr ];
|
environment.systemPackages = with pkgs; [
|
||||||
|
brlaser
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
brgenml1lpr
|
||||||
"nix-2.16.2"
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
nixpkgs.config.permittedInsecurePackages = [ "nix-2.16.2" ];
|
||||||
|
|
||||||
xdg.portal = {
|
xdg.portal = {
|
||||||
enable = true;
|
enable = true;
|
||||||
extraPortals = [
|
extraPortals = [ pkgs.kdePackages.xdg-desktop-portal-kde ];
|
||||||
pkgs.kdePackages.xdg-desktop-portal-kde
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
system.stateVersion = "23.05";
|
system.stateVersion = "23.05";
|
||||||
|
|
|
@ -1,15 +1,27 @@
|
||||||
# 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, modulesPath, ... }:
|
{
|
||||||
|
config,
|
||||||
|
lib,
|
||||||
|
modulesPath,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];
|
||||||
|
|
||||||
boot = {
|
boot = {
|
||||||
initrd = {
|
initrd = {
|
||||||
availableKernelModules =
|
availableKernelModules = [
|
||||||
[ "nvme" "xhci_pci" "ahci" "usbhid" "uas" "usb_storage" "sd_mod" ];
|
"nvme"
|
||||||
|
"xhci_pci"
|
||||||
|
"ahci"
|
||||||
|
"usbhid"
|
||||||
|
"uas"
|
||||||
|
"usb_storage"
|
||||||
|
"sd_mod"
|
||||||
|
];
|
||||||
kernelModules = [ ];
|
kernelModules = [ ];
|
||||||
};
|
};
|
||||||
kernelModules = [ "kvm-amd" ];
|
kernelModules = [ "kvm-amd" ];
|
||||||
|
@ -44,6 +56,5 @@
|
||||||
# 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 =
|
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||||
lib.mkDefault config.hardware.enableRedistributableFirmware;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,9 @@
|
||||||
home-manager = {
|
home-manager = {
|
||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
useUserPackages = true;
|
useUserPackages = true;
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
users.thilo = {
|
users.thilo = {
|
||||||
imports = [ ./../../home-manager/modules/machine.nix ];
|
imports = [ ./../../home-manager/modules/machine.nix ];
|
||||||
|
|
||||||
|
@ -16,13 +18,17 @@
|
||||||
isGraphical = true;
|
isGraphical = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* xsession.pointerCursor = {
|
/*
|
||||||
name = "Bibata-Modern-Classic";
|
xsession.pointerCursor = {
|
||||||
package = pkgs.bibata-cursors;
|
name = "Bibata-Modern-Classic";
|
||||||
size = 128;
|
package = pkgs.bibata-cursors;
|
||||||
}; */
|
size = 128;
|
||||||
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
home.sessionVariables = { LD_LIBRARY_PATH = "${pkgs.libGL}/lib"; };
|
home.sessionVariables = {
|
||||||
|
LD_LIBRARY_PATH = "${pkgs.libGL}/lib";
|
||||||
|
};
|
||||||
|
|
||||||
home.packages = with pkgs; [ libsForQt5.discover ];
|
home.packages = with pkgs; [ libsForQt5.discover ];
|
||||||
};
|
};
|
||||||
|
|
|
@ -58,7 +58,10 @@
|
||||||
programs.nix-ld.enable = true;
|
programs.nix-ld.enable = true;
|
||||||
|
|
||||||
hardware.opengl = {
|
hardware.opengl = {
|
||||||
extraPackages = with pkgs; [ vaapiVdpau libvdpau-va-gl ];
|
extraPackages = with pkgs; [
|
||||||
|
vaapiVdpau
|
||||||
|
libvdpau-va-gl
|
||||||
|
];
|
||||||
};
|
};
|
||||||
hardware.bluetooth.enable = true;
|
hardware.bluetooth.enable = true;
|
||||||
|
|
||||||
|
@ -86,9 +89,7 @@
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs.config.permittedInsecurePackages = [
|
nixpkgs.config.permittedInsecurePackages = [ "nix-2.16.2" ];
|
||||||
"nix-2.16.2"
|
|
||||||
];
|
|
||||||
|
|
||||||
system.stateVersion = "23.05";
|
system.stateVersion = "23.05";
|
||||||
}
|
}
|
||||||
|
|
30
flake.lock
30
flake.lock
|
@ -7,11 +7,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715270390,
|
"lastModified": 1716892732,
|
||||||
"narHash": "sha256-j4k51vcfTCgEPElhB+/4fL8MA05HhC+vZvUh1eQYzc0=",
|
"narHash": "sha256-n1UnQ7RbJwDAUX1fq4+hUNVVIWDlZKvAsUp/muSkV3g=",
|
||||||
"owner": "dagger",
|
"owner": "dagger",
|
||||||
"repo": "nix",
|
"repo": "nix",
|
||||||
"rev": "561a09f4c8b0eadf291f072b2e35498d9e33cdb9",
|
"rev": "9e26b2f73eebf9e3b9fbc1a31c378ccb2daf84cd",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -93,11 +93,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715930644,
|
"lastModified": 1716908526,
|
||||||
"narHash": "sha256-W9pyM3/vePxrffHtzlJI6lDS3seANQ+Nqp+i58O46LI=",
|
"narHash": "sha256-Zl6e/sEVDh07K47XxDGPsXTYT4nI6llUDbQ4xMIwp7k=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "e3ad5108f54177e6520535768ddbf1e6af54b59d",
|
"rev": "373ead20606efa9181cd15ba19a5deac7ead1492",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -214,11 +214,11 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716170277,
|
"lastModified": 1716772633,
|
||||||
"narHash": "sha256-fCAiox/TuzWGVaAz16PxrR4Jtf9lN5dwWL2W74DS0yI=",
|
"narHash": "sha256-Idcye44UW+EgjbjCoklf2IDF+XrehV6CVYvxR1omst4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "e0638db3db43b582512a7de8c0f8363a162842b9",
|
"rev": "ff80cb4a11bb87f3ce8459be6f16a25ac86eb2ac",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -288,11 +288,11 @@
|
||||||
"treefmt-nix": "treefmt-nix"
|
"treefmt-nix": "treefmt-nix"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1715679428,
|
"lastModified": 1716350738,
|
||||||
"narHash": "sha256-WapL4RmvX+FaRtJvhbtCDGGzefn8wam+yO0hnf4l9+s=",
|
"narHash": "sha256-aTwS8rp0vaDOIgirVNfYNr8swW/yG8AtOxbBoFpdD9U=",
|
||||||
"owner": "ryantm",
|
"owner": "ryantm",
|
||||||
"repo": "nixpkgs-update",
|
"repo": "nixpkgs-update",
|
||||||
"rev": "4e1df89d081c96429f257d125f4c7ab02adffd47",
|
"rev": "3e25ce4c5f54e790bf757ac2f17915fc8ec4fc1d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
@ -303,11 +303,11 @@
|
||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1716137900,
|
"lastModified": 1716509168,
|
||||||
"narHash": "sha256-sowPU+tLQv8GlqtVtsXioTKeaQvlMz/pefcdwg8MvfM=",
|
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "6c0b7a92c30122196a761b440ac0d46d3d9954f1",
|
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|
91
flake.nix
91
flake.nix
|
@ -2,8 +2,12 @@
|
||||||
description = "Nixos config";
|
description = "Nixos config";
|
||||||
|
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs = { url = "github:NixOS/nixpkgs/nixos-unstable"; };
|
nixpkgs = {
|
||||||
nixpkgs-update = { url = "github:ryantm/nixpkgs-update"; };
|
url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
|
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";
|
||||||
|
@ -31,21 +35,28 @@
|
||||||
};
|
};
|
||||||
|
|
||||||
nixConfig = {
|
nixConfig = {
|
||||||
substituters = [
|
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="
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { nixpkgs, home-manager, nixgl, w17, ... }@inputs:
|
outputs =
|
||||||
|
{
|
||||||
|
nixpkgs,
|
||||||
|
home-manager,
|
||||||
|
nixgl,
|
||||||
|
w17,
|
||||||
|
...
|
||||||
|
}@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
|
@ -53,7 +64,8 @@
|
||||||
overlays = [ nixgl.overlay ];
|
overlays = [ nixgl.overlay ];
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
nixosConfigurations.thilo-pc = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.thilo-pc = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
modules = [
|
modules = [
|
||||||
|
@ -61,7 +73,9 @@
|
||||||
./configs/thilo-pc/nixos.nix
|
./configs/thilo-pc/nixos.nix
|
||||||
./configs/thilo-pc/home.nix
|
./configs/thilo-pc/home.nix
|
||||||
];
|
];
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
nixosConfigurations.thilo-laptop = nixpkgs.lib.nixosSystem {
|
nixosConfigurations.thilo-laptop = nixpkgs.lib.nixosSystem {
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
|
@ -70,28 +84,33 @@
|
||||||
./configs/thilo-laptop/nixos.nix
|
./configs/thilo-laptop/nixos.nix
|
||||||
./configs/thilo-laptop/home.nix
|
./configs/thilo-laptop/home.nix
|
||||||
];
|
];
|
||||||
specialArgs = { inherit inputs; };
|
specialArgs = {
|
||||||
|
inherit inputs;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
homeConfigurations."thilo@thilo-pc" =
|
homeConfigurations."thilo@thilo-pc" = home-manager.lib.homeManagerConfiguration {
|
||||||
home-manager.lib.homeManagerConfiguration {
|
inherit pkgs;
|
||||||
inherit pkgs;
|
modules = [
|
||||||
modules = [
|
inputs.nix-index-database.hmModules.nix-index
|
||||||
inputs.nix-index-database.hmModules.nix-index
|
./configs/fedora/home.nix
|
||||||
./configs/fedora/home.nix
|
];
|
||||||
];
|
extraSpecialArgs = {
|
||||||
extraSpecialArgs = { inherit inputs nixgl; };
|
inherit inputs nixgl;
|
||||||
};
|
};
|
||||||
homeConfigurations."thilo@thilo-laptop" =
|
};
|
||||||
home-manager.lib.homeManagerConfiguration {
|
homeConfigurations."thilo@thilo-laptop" = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./configs/fedora/home.nix ];
|
modules = [ ./configs/fedora/home.nix ];
|
||||||
extraSpecialArgs = { inherit inputs nixgl; };
|
extraSpecialArgs = {
|
||||||
|
inherit inputs nixgl;
|
||||||
};
|
};
|
||||||
homeConfigurations."thilo@thilo-pc-win" =
|
};
|
||||||
home-manager.lib.homeManagerConfiguration {
|
homeConfigurations."thilo@thilo-pc-win" = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
modules = [ ./configs/wsl/home.nix ];
|
modules = [ ./configs/wsl/home.nix ];
|
||||||
extraSpecialArgs = { inherit inputs nixgl; };
|
extraSpecialArgs = {
|
||||||
|
inherit inputs nixgl;
|
||||||
};
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,11 @@
|
||||||
{ lib, pkgs, config, ... }:
|
{
|
||||||
with lib; {
|
lib,
|
||||||
|
pkgs,
|
||||||
|
config,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
with lib;
|
||||||
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./../programs/atuin.nix
|
./../programs/atuin.nix
|
||||||
./../programs/alacritty.nix
|
./../programs/alacritty.nix
|
||||||
|
@ -80,8 +86,7 @@ with lib; {
|
||||||
'';
|
'';
|
||||||
".ssh/config_source" = {
|
".ssh/config_source" = {
|
||||||
source = ./../dotfiles/ssh-config;
|
source = ./../dotfiles/ssh-config;
|
||||||
onChange =
|
onChange = "cat ~/.ssh/config_source > ~/.ssh/config && chmod 600 ~/.ssh/config";
|
||||||
"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 = ''
|
||||||
|
@ -131,4 +136,3 @@ with lib; {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,10 +1,15 @@
|
||||||
{ config, pkgs, lib, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
let
|
let
|
||||||
nixGL = import ./../../home-manager/utils/nixGLWrap.nix { inherit pkgs config; };
|
nixGL = import ./../../home-manager/utils/nixGLWrap.nix { inherit pkgs config; };
|
||||||
electronFlags =
|
electronFlags = "--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --disable-gpu-shader-disk-cache -n";
|
||||||
"--enable-features=UseOzonePlatform --ozone-platform=wayland --enable-wayland-ime --disable-gpu-shader-disk-cache -n";
|
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
config = {
|
config = {
|
||||||
|
@ -16,14 +21,15 @@ in
|
||||||
})
|
})
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs;
|
home.packages =
|
||||||
|
with pkgs;
|
||||||
[
|
[
|
||||||
pkgs.nixVersions.latest # because remotely invoked updates are fun ;)
|
pkgs.nixVersions.latest # because remotely invoked updates are fun ;)
|
||||||
up
|
up
|
||||||
htop
|
htop
|
||||||
rustc
|
rustc
|
||||||
cargo
|
cargo
|
||||||
nixfmt
|
nixfmt-rfc-style
|
||||||
nodejs
|
nodejs
|
||||||
bun
|
bun
|
||||||
deno
|
deno
|
||||||
|
@ -40,12 +46,11 @@ in
|
||||||
hub
|
hub
|
||||||
httpie
|
httpie
|
||||||
manix
|
manix
|
||||||
(pkgs.writeShellScriptBin "ssh-fix-permissions"
|
(pkgs.writeShellScriptBin "ssh-fix-permissions" (
|
||||||
(builtins.readFile ./../scripts/ssh-fix-permissions.sh))
|
builtins.readFile ./../scripts/ssh-fix-permissions.sh
|
||||||
(pkgs.writeShellScriptBin "yt-dlp-audio"
|
))
|
||||||
(builtins.readFile ./../scripts/yt-dlp-audio.sh))
|
(pkgs.writeShellScriptBin "yt-dlp-audio" (builtins.readFile ./../scripts/yt-dlp-audio.sh))
|
||||||
(pkgs.writeShellScriptBin "nix-shell-init"
|
(pkgs.writeShellScriptBin "nix-shell-init" (builtins.readFile ./../scripts/nix-shell-init.sh))
|
||||||
(builtins.readFile ./../scripts/nix-shell-init.sh))
|
|
||||||
(pkgs.writeShellScriptBin "http-server" ''
|
(pkgs.writeShellScriptBin "http-server" ''
|
||||||
${pkgs.caddy}/bin/caddy file-server --listen :2345
|
${pkgs.caddy}/bin/caddy file-server --listen :2345
|
||||||
'')
|
'')
|
||||||
|
@ -72,84 +77,94 @@ in
|
||||||
inputs.w17.packages.x86_64-linux.default
|
inputs.w17.packages.x86_64-linux.default
|
||||||
aichat
|
aichat
|
||||||
(pkgs.nerdfonts.override {
|
(pkgs.nerdfonts.override {
|
||||||
fonts = [ "JetBrainsMono" "FiraCode" "FiraMono" ];
|
fonts = [
|
||||||
|
"JetBrainsMono"
|
||||||
|
"FiraCode"
|
||||||
|
"FiraMono"
|
||||||
|
];
|
||||||
})
|
})
|
||||||
nix-output-monitor
|
nix-output-monitor
|
||||||
nodePackages.pnpm
|
nodePackages.pnpm
|
||||||
npm-check-updates
|
npm-check-updates
|
||||||
] ++ (
|
]
|
||||||
if (
|
++ (
|
||||||
!config.machine.isGeneric
|
if (!config.machine.isGeneric) then
|
||||||
) then [
|
[
|
||||||
toolbox
|
toolbox
|
||||||
distrobox
|
distrobox
|
||||||
] else
|
]
|
||||||
|
else
|
||||||
[ ]
|
[ ]
|
||||||
) ++ (
|
)
|
||||||
if (
|
++ (
|
||||||
config.machine.isGraphical
|
if (config.machine.isGraphical) then
|
||||||
) then [
|
[
|
||||||
(nixGL insomnia)
|
(nixGL insomnia)
|
||||||
(nixGL comma)
|
(nixGL comma)
|
||||||
] else
|
]
|
||||||
|
else
|
||||||
[ ]
|
[ ]
|
||||||
) ++ (
|
)
|
||||||
if (
|
++ (
|
||||||
config.machine.isGraphical && !config.machine.isGeneric
|
if (config.machine.isGraphical && !config.machine.isGeneric) then
|
||||||
) then [
|
[
|
||||||
corefonts
|
jetbrains.webstorm
|
||||||
vistafonts
|
jetbrains.phpstorm
|
||||||
jetbrains.webstorm
|
jetbrains.rust-rover
|
||||||
jetbrains.phpstorm
|
jetbrains.goland
|
||||||
jetbrains.rust-rover
|
element-desktop
|
||||||
jetbrains.goland
|
ludusavi
|
||||||
element-desktop
|
dbeaver
|
||||||
ludusavi
|
onlyoffice-bin
|
||||||
dbeaver
|
spotify
|
||||||
onlyoffice-bin
|
vesktop
|
||||||
spotify
|
(lutris.override {
|
||||||
vesktop
|
extraLibraries = _: [ gnome3.adwaita-icon-theme ];
|
||||||
(lutris.override {
|
extraPkgs = _: [
|
||||||
extraLibraries = _: [ gnome3.adwaita-icon-theme ];
|
wineWowPackages.full
|
||||||
extraPkgs = _: [
|
winetricks
|
||||||
wineWowPackages.full
|
gnome3.adwaita-icon-theme
|
||||||
winetricks
|
];
|
||||||
gnome3.adwaita-icon-theme
|
})
|
||||||
];
|
bottles
|
||||||
})
|
protontricks
|
||||||
bottles
|
heroic
|
||||||
protontricks
|
(vscode.override { commandLineArgs = electronFlags; })
|
||||||
heroic
|
quickemu
|
||||||
(vscode.override { commandLineArgs = electronFlags; })
|
quickgui
|
||||||
quickemu
|
trilium-desktop
|
||||||
quickgui
|
anki
|
||||||
trilium-desktop
|
# inputs.muse-sounds-manager.packages.x86_64-linux.muse-sounds-manager
|
||||||
anki
|
jetbrains-toolbox
|
||||||
# inputs.muse-sounds-manager.packages.x86_64-linux.muse-sounds-manager
|
mumble
|
||||||
jetbrains-toolbox
|
prusa-slicer
|
||||||
mumble
|
trayscale
|
||||||
prusa-slicer
|
gnome.gnome-disk-utility
|
||||||
trayscale
|
inkscape
|
||||||
gnome.gnome-disk-utility
|
musescore
|
||||||
inkscape
|
obsidian
|
||||||
musescore
|
syncthingtray
|
||||||
obsidian
|
reaper
|
||||||
syncthingtray
|
yabridge
|
||||||
reaper
|
inputs.suyu.packages.x86_64-linux.suyu
|
||||||
yabridge
|
inputs.nix-alien.packages.x86_64-linux.nix-alien
|
||||||
inputs.suyu.packages.x86_64-linux.suyu
|
kdePackages.kdenlive
|
||||||
inputs.nix-alien.packages.x86_64-linux.nix-alien
|
audacity
|
||||||
kdePackages.kdenlive
|
]
|
||||||
audacity
|
else
|
||||||
] else
|
|
||||||
[ ]
|
[ ]
|
||||||
) ++ (if config.machine.isGnome then [
|
)
|
||||||
gnomeExtensions.blur-my-shell
|
++ (
|
||||||
gnomeExtensions.dash-to-panel
|
if config.machine.isGnome then
|
||||||
gnomeExtensions.user-themes
|
[
|
||||||
gnomeExtensions.vitals
|
gnomeExtensions.blur-my-shell
|
||||||
gnomeExtensions.custom-accent-colors
|
gnomeExtensions.dash-to-panel
|
||||||
] else
|
gnomeExtensions.user-themes
|
||||||
[ ]);
|
gnomeExtensions.vitals
|
||||||
|
gnomeExtensions.custom-accent-colors
|
||||||
|
]
|
||||||
|
else
|
||||||
|
[ ]
|
||||||
|
);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, stdenv, fetchFromGitHub }:
|
{
|
||||||
|
lib,
|
||||||
|
stdenv,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
pname = "docker-craft-cms-dev-env";
|
pname = "docker-craft-cms-dev-env";
|
||||||
|
@ -17,8 +21,7 @@ stdenv.mkDerivation rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description =
|
description = "Docker image for local development of sites based on Craft CMS";
|
||||||
"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; [ ];
|
||||||
|
|
|
@ -1,24 +1,24 @@
|
||||||
{ pkgs }:
|
{ pkgs }:
|
||||||
|
|
||||||
/* SOURCE: https://ostechnix.com/a-bash-function-to-extract-file-archives-of-various-types/ */
|
# SOURCE: https://ostechnix.com/a-bash-function-to-extract-file-archives-of-various-types/
|
||||||
|
|
||||||
pkgs.writeShellScriptBin "extract" ''
|
pkgs.writeShellScriptBin "extract" ''
|
||||||
if [ -f $1 ] ; then
|
if [ -f $1 ] ; then
|
||||||
case $1 in
|
case $1 in
|
||||||
*.tar.bz2) ${pkgs.gnutar}/bin/tar xjf $1 ;;
|
*.tar.bz2) ${pkgs.gnutar}/bin/tar xjf $1 ;;
|
||||||
*.tar.gz) ${pkgs.gnutar}/bin/tar $1 ;;
|
*.tar.gz) ${pkgs.gnutar}/bin/tar $1 ;;
|
||||||
*.bz2) ${pkgs.bzip2}/bin/bunzip2 $1 ;;
|
*.bz2) ${pkgs.bzip2}/bin/bunzip2 $1 ;;
|
||||||
*.rar) ${pkgs.rar}/bin/rar x $1 ;;
|
*.rar) ${pkgs.rar}/bin/rar x $1 ;;
|
||||||
*.gz) ${pkgs.gzip}/bin/gunzip $1 ;;
|
*.gz) ${pkgs.gzip}/bin/gunzip $1 ;;
|
||||||
*.tar) ${pkgs.gnutar}/bin/tar xf $1 ;;
|
*.tar) ${pkgs.gnutar}/bin/tar xf $1 ;;
|
||||||
*.tbz2) ${pkgs.gnutar}/bin/tar xjf $1 ;;
|
*.tbz2) ${pkgs.gnutar}/bin/tar xjf $1 ;;
|
||||||
*.tgz) ${pkgs.gnutar}/bin/tar xzf $1 ;;
|
*.tgz) ${pkgs.gnutar}/bin/tar xzf $1 ;;
|
||||||
*.zip) ${pkgs.unzip}/bin/unzip $1 ;;
|
*.zip) ${pkgs.unzip}/bin/unzip $1 ;;
|
||||||
*.Z) ${pkgs.gzip}/bin/uncompress $1 ;;
|
*.Z) ${pkgs.gzip}/bin/uncompress $1 ;;
|
||||||
*.7z) ${pkgs._7zz}/bin/7z x $1 ;;
|
*.7z) ${pkgs._7zz}/bin/7z x $1 ;;
|
||||||
*) echo "'$1' cannot be extracted via extract()" ;;
|
*) echo "'$1' cannot be extracted via extract()" ;;
|
||||||
esac
|
esac
|
||||||
else
|
else
|
||||||
echo "'$1' is not a valid file"
|
echo "'$1' is not a valid file"
|
||||||
fi
|
fi
|
||||||
''
|
''
|
||||||
|
|
|
@ -1,4 +1,8 @@
|
||||||
{ lib, buildNpmPackage, fetchFromGitHub }:
|
{
|
||||||
|
lib,
|
||||||
|
buildNpmPackage,
|
||||||
|
fetchFromGitHub,
|
||||||
|
}:
|
||||||
|
|
||||||
buildNpmPackage rec {
|
buildNpmPackage rec {
|
||||||
pname = "spx-gc";
|
pname = "spx-gc";
|
||||||
|
@ -21,8 +25,7 @@ buildNpmPackage rec {
|
||||||
'';
|
'';
|
||||||
|
|
||||||
meta = with lib; {
|
meta = with lib; {
|
||||||
description =
|
description = "SPX is a graphics control client for live video productions and live streams using CasparCG, OBS, vMix, or similar software";
|
||||||
"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; [ ];
|
||||||
|
|
|
@ -1,8 +1,14 @@
|
||||||
{ config, pkgs, lib, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
nixGL = import ./../../home-manager/utils/nixGLWrap.nix { inherit pkgs config; };
|
nixGL = import ./../../home-manager/utils/nixGLWrap.nix { inherit pkgs config; };
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
programs.alacritty = {
|
programs.alacritty = {
|
||||||
enable = if config.machine.isGraphical then true else false;
|
enable = if config.machine.isGraphical then true else false;
|
||||||
package = (nixGL pkgs.alacritty);
|
package = (nixGL pkgs.alacritty);
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
{
|
{
|
||||||
programs.atuin = { enable = true; };
|
programs.atuin = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
{ programs.bat = { enable = true; }; }
|
{
|
||||||
|
programs.bat = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -12,7 +12,9 @@
|
||||||
duplicate_action = "ask";
|
duplicate_action = "ask";
|
||||||
default_action = "apply";
|
default_action = "apply";
|
||||||
};
|
};
|
||||||
badfiles = { check_on_import = "yes"; };
|
badfiles = {
|
||||||
|
check_on_import = "yes";
|
||||||
|
};
|
||||||
match = {
|
match = {
|
||||||
max_rec = {
|
max_rec = {
|
||||||
track_length = "strong";
|
track_length = "strong";
|
||||||
|
|
|
@ -20,7 +20,10 @@ let
|
||||||
"kbfnbcaeplbcioakkpcpgfkobkghlhen" # Grammarly
|
"kbfnbcaeplbcioakkpcpgfkobkghlhen" # Grammarly
|
||||||
];
|
];
|
||||||
isEnabled = if (config.machine.isGraphical && !config.machine.isGeneric) then true else false;
|
isEnabled = if (config.machine.isGraphical && !config.machine.isGeneric) then true else false;
|
||||||
dictionaries = with pkgs.hunspellDictsChromium; [ en_US de_DE ];
|
dictionaries = with pkgs.hunspellDictsChromium; [
|
||||||
|
en_US
|
||||||
|
de_DE
|
||||||
|
];
|
||||||
commandLineArgs = [
|
commandLineArgs = [
|
||||||
"--enable-wayland-ime"
|
"--enable-wayland-ime"
|
||||||
"--ignore-gpu-blocklist"
|
"--ignore-gpu-blocklist"
|
||||||
|
@ -30,7 +33,8 @@ let
|
||||||
"--enable-features=WaylandWindowDecorations,VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,WebRTCPipeWireCapturer"
|
"--enable-features=WaylandWindowDecorations,VaapiVideoDecoder,VaapiVideoEncoder,VaapiVideoDecodeLinuxGL,WebRTCPipeWireCapturer"
|
||||||
];
|
];
|
||||||
extensions = map (eid: { id = eid; }) chromium_extension;
|
extensions = map (eid: { id = eid; }) chromium_extension;
|
||||||
in {
|
in
|
||||||
|
{
|
||||||
programs.chromium = {
|
programs.chromium = {
|
||||||
inherit dictionaries commandLineArgs extensions;
|
inherit dictionaries commandLineArgs extensions;
|
||||||
enable = isEnabled;
|
enable = isEnabled;
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
{ programs.command-not-found = { enable = false; }; }
|
{
|
||||||
|
programs.command-not-found = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -15,18 +15,28 @@
|
||||||
ui = true;
|
ui = true;
|
||||||
pager = true;
|
pager = true;
|
||||||
};
|
};
|
||||||
log = { date = "short"; };
|
log = {
|
||||||
rerere = { enabled = "1"; };
|
date = "short";
|
||||||
|
};
|
||||||
|
rerere = {
|
||||||
|
enabled = "1";
|
||||||
|
};
|
||||||
core = {
|
core = {
|
||||||
whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
|
whitespace = "fix,-indent-with-non-tab,trailing-space,cr-at-eol";
|
||||||
excludesfile = "~/.gitignore";
|
excludesfile = "~/.gitignore";
|
||||||
autocrlf = "input";
|
autocrlf = "input";
|
||||||
};
|
};
|
||||||
apply = { whitespace = "nowarn"; };
|
apply = {
|
||||||
branch = { autosetuprebase = "always"; };
|
whitespace = "nowarn";
|
||||||
|
};
|
||||||
|
branch = {
|
||||||
|
autosetuprebase = "always";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
programs.git-credential-oauth = { enable = true; };
|
programs.git-credential-oauth = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
programs.gh.enable = true;
|
programs.gh.enable = true;
|
||||||
programs.gh-dash.enable = true;
|
programs.gh-dash.enable = true;
|
||||||
programs.lazygit.enable = true;
|
programs.lazygit.enable = true;
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
{ programs.go = { enable = true; }; }
|
{
|
||||||
|
programs.go = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
{ programs.hstr = { enable = true; }; }
|
{
|
||||||
|
programs.hstr = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -3,6 +3,10 @@
|
||||||
{
|
{
|
||||||
programs.mpv = {
|
programs.mpv = {
|
||||||
enable = if (config.machine.isGraphical && !config.machine.isGeneric) then true else false;
|
enable = if (config.machine.isGraphical && !config.machine.isGeneric) then true else false;
|
||||||
scripts = with pkgs.mpvScripts; [ autoload mpris sponsorblock ];
|
scripts = with pkgs.mpvScripts; [
|
||||||
|
autoload
|
||||||
|
mpris
|
||||||
|
sponsorblock
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,9 @@
|
||||||
viAlias = true;
|
viAlias = true;
|
||||||
vimAlias = true;
|
vimAlias = true;
|
||||||
vimdiffAlias = true;
|
vimdiffAlias = true;
|
||||||
coc = { enable = true; };
|
coc = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
extraConfig = ''
|
extraConfig = ''
|
||||||
set title
|
set title
|
||||||
set ignorecase
|
set ignorecase
|
||||||
|
|
|
@ -3,8 +3,12 @@
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
add_newline = false;
|
add_newline = false;
|
||||||
character = { success_symbol = "[❯](bold white)"; };
|
character = {
|
||||||
package = { disabled = true; };
|
success_symbol = "[❯](bold white)";
|
||||||
|
};
|
||||||
|
package = {
|
||||||
|
disabled = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1,5 @@
|
||||||
{ services.syncthing = { enable = true; }; }
|
{
|
||||||
|
services.syncthing = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
{
|
{
|
||||||
programs.thefuck = { enable = false; };
|
programs.thefuck = {
|
||||||
|
enable = false;
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
{ config, pkgs, ... }:
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
configPath = if config.machine.isGeneric then
|
configPath =
|
||||||
"${config.home.homeDirectory}/.config/home-manager"
|
if config.machine.isGeneric then
|
||||||
else
|
"${config.home.homeDirectory}/.config/home-manager"
|
||||||
"${config.home.homeDirectory}/.nixos-config";
|
else
|
||||||
in {
|
"${config.home.homeDirectory}/.nixos-config";
|
||||||
|
in
|
||||||
|
{
|
||||||
programs.topgrade = {
|
programs.topgrade = {
|
||||||
enable = true;
|
enable = true;
|
||||||
settings = {
|
settings = {
|
||||||
|
@ -16,13 +18,18 @@ in {
|
||||||
pre_sudo = false;
|
pre_sudo = false;
|
||||||
cleanup = true;
|
cleanup = true;
|
||||||
skip_notify = true;
|
skip_notify = true;
|
||||||
disable = [ "bun" "tldr" "flutter" ];
|
disable = [
|
||||||
|
"bun"
|
||||||
|
"tldr"
|
||||||
|
"flutter"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
git.repos = [ configPath ];
|
git.repos = [ configPath ];
|
||||||
firmware = { upgrade = true; };
|
firmware = {
|
||||||
|
upgrade = true;
|
||||||
|
};
|
||||||
pre_commands = {
|
pre_commands = {
|
||||||
flakeUpgrade =
|
flakeUpgrade = "cd ${configPath} && ${pkgs.nixVersions.latest}/bin/nix flake update --commit-lock-file --verbose --repair";
|
||||||
"cd ${configPath} && ${pkgs.nixVersions.latest}/bin/nix flake update --commit-lock-file --verbose --repair";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
|
@ -1,2 +1,5 @@
|
||||||
{ programs.yt-dlp = { enable = true; }; }
|
{
|
||||||
|
programs.yt-dlp = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
|
@ -1,12 +1,9 @@
|
||||||
# Call once on import to load global context
|
# Call once on import to load global context
|
||||||
{
|
{ pkgs, config }:
|
||||||
pkgs,
|
|
||||||
config,
|
|
||||||
}:
|
|
||||||
# Wrap a single package
|
# Wrap a single package
|
||||||
pkg:
|
pkg:
|
||||||
if config.nixGLPrefix == ""
|
if config.nixGLPrefix == "" then
|
||||||
then pkg
|
pkg
|
||||||
else
|
else
|
||||||
# Wrap the package's binaries with nixGL, while preserving the rest of
|
# Wrap the package's binaries with nixGL, while preserving the rest of
|
||||||
# the outputs and derivation attributes.
|
# the outputs and derivation attributes.
|
||||||
|
@ -17,12 +14,14 @@ else
|
||||||
|
|
||||||
${
|
${
|
||||||
# Heavily inspired by https://stackoverflow.com/a/68523368/6259505
|
# Heavily inspired by https://stackoverflow.com/a/68523368/6259505
|
||||||
pkgs.lib.concatStringsSep "\n" (map (outputName: ''
|
pkgs.lib.concatStringsSep "\n" (
|
||||||
echo "Copying output ${outputName}"
|
map (outputName: ''
|
||||||
set -x
|
echo "Copying output ${outputName}"
|
||||||
cp -rs --no-preserve=mode "${pkg.${outputName}}" "''$${outputName}"
|
set -x
|
||||||
set +x
|
cp -rs --no-preserve=mode "${pkg.${outputName}}" "''$${outputName}"
|
||||||
'') (old.outputs or ["out"]))
|
set +x
|
||||||
|
'') (old.outputs or [ "out" ])
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
rm -rf $out/bin/*
|
rm -rf $out/bin/*
|
||||||
|
@ -34,4 +33,4 @@ else
|
||||||
done
|
done
|
||||||
shopt -u nullglob # Revert nullglob back to its normal default state
|
shopt -u nullglob # Revert nullglob back to its normal default state
|
||||||
'';
|
'';
|
||||||
}))
|
}))
|
||||||
|
|
|
@ -24,7 +24,8 @@ let
|
||||||
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
|
||||||
chrome-wrapper
|
chrome-wrapper
|
||||||
|
|
5
nix.nix
5
nix.nix
|
@ -8,7 +8,10 @@
|
||||||
sandbox = relaxed
|
sandbox = relaxed
|
||||||
'';
|
'';
|
||||||
settings = {
|
settings = {
|
||||||
trusted-users = [ "root" "thilo" ];
|
trusted-users = [
|
||||||
|
"root"
|
||||||
|
"thilo"
|
||||||
|
];
|
||||||
substituters = [
|
substituters = [
|
||||||
"https://cache.nixos.org"
|
"https://cache.nixos.org"
|
||||||
"https://nix-community.cachix.org"
|
"https://nix-community.cachix.org"
|
||||||
|
|
|
@ -8,71 +8,76 @@
|
||||||
|
|
||||||
nix = {
|
nix = {
|
||||||
distributedBuilds = true;
|
distributedBuilds = true;
|
||||||
buildMachines = [ {
|
buildMachines = [
|
||||||
hostName = "build1.darmstadt.ccc.de";
|
{
|
||||||
protocol = "ssh";
|
hostName = "build1.darmstadt.ccc.de";
|
||||||
sshUser = "avocadoom";
|
protocol = "ssh";
|
||||||
sshKey = "/home/thilo/.ssh/id_darmstadt-ccc-de";
|
sshUser = "avocadoom";
|
||||||
systems = [
|
sshKey = "/home/thilo/.ssh/id_darmstadt-ccc-de";
|
||||||
"i686-linux"
|
systems = [
|
||||||
"x86_64-linux"
|
"i686-linux"
|
||||||
];
|
"x86_64-linux"
|
||||||
maxJobs = 4;
|
];
|
||||||
speedFactor = 6;
|
maxJobs = 4;
|
||||||
supportedFeatures = [
|
speedFactor = 6;
|
||||||
"big-parallel"
|
supportedFeatures = [
|
||||||
"kvm"
|
"big-parallel"
|
||||||
"nixos-test"
|
"kvm"
|
||||||
];
|
"nixos-test"
|
||||||
} {
|
];
|
||||||
hostName = "build2.darmstadt.ccc.de";
|
}
|
||||||
protocol = "ssh";
|
{
|
||||||
sshUser = "avocadoom";
|
hostName = "build2.darmstadt.ccc.de";
|
||||||
sshKey = "/home/thilo/.ssh/id_darmstadt-ccc-de";
|
protocol = "ssh";
|
||||||
systems = [
|
sshUser = "avocadoom";
|
||||||
"i686-linux"
|
sshKey = "/home/thilo/.ssh/id_darmstadt-ccc-de";
|
||||||
"x86_64-linux"
|
systems = [
|
||||||
];
|
"i686-linux"
|
||||||
maxJobs = 4;
|
"x86_64-linux"
|
||||||
speedFactor = 6;
|
];
|
||||||
supportedFeatures = [
|
maxJobs = 4;
|
||||||
"big-parallel"
|
speedFactor = 6;
|
||||||
"kvm"
|
supportedFeatures = [
|
||||||
"nixos-test"
|
"big-parallel"
|
||||||
];
|
"kvm"
|
||||||
} {
|
"nixos-test"
|
||||||
hostName = "build3.darmstadt.ccc.de";
|
];
|
||||||
protocol = "ssh";
|
}
|
||||||
sshUser = "avocadoom";
|
{
|
||||||
sshKey = "/home/thilo/.ssh/id_darmstadt-ccc-de";
|
hostName = "build3.darmstadt.ccc.de";
|
||||||
systems = [
|
protocol = "ssh";
|
||||||
"i686-linux"
|
sshUser = "avocadoom";
|
||||||
"x86_64-linux"
|
sshKey = "/home/thilo/.ssh/id_darmstadt-ccc-de";
|
||||||
];
|
systems = [
|
||||||
maxJobs = 4;
|
"i686-linux"
|
||||||
speedFactor = 6;
|
"x86_64-linux"
|
||||||
supportedFeatures = [
|
];
|
||||||
"big-parallel"
|
maxJobs = 4;
|
||||||
"kvm"
|
speedFactor = 6;
|
||||||
"nixos-test"
|
supportedFeatures = [
|
||||||
];
|
"big-parallel"
|
||||||
} {
|
"kvm"
|
||||||
hostName = "build4.darmstadt.ccc.de";
|
"nixos-test"
|
||||||
protocol = "ssh";
|
];
|
||||||
sshUser = "avocadoom";
|
}
|
||||||
sshKey = "/home/thilo/.ssh/id_darmstadt-ccc-de";
|
{
|
||||||
systems = [
|
hostName = "build4.darmstadt.ccc.de";
|
||||||
"i686-linux"
|
protocol = "ssh";
|
||||||
"x86_64-linux"
|
sshUser = "avocadoom";
|
||||||
];
|
sshKey = "/home/thilo/.ssh/id_darmstadt-ccc-de";
|
||||||
# this node has half the cpu of the others
|
systems = [
|
||||||
maxJobs = 2;
|
"i686-linux"
|
||||||
speedFactor = 6;
|
"x86_64-linux"
|
||||||
supportedFeatures = [
|
];
|
||||||
"big-parallel"
|
# this node has half the cpu of the others
|
||||||
"kvm"
|
maxJobs = 2;
|
||||||
"nixos-test"
|
speedFactor = 6;
|
||||||
];
|
supportedFeatures = [
|
||||||
} ];
|
"big-parallel"
|
||||||
|
"kvm"
|
||||||
|
"nixos-test"
|
||||||
|
];
|
||||||
|
}
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,10 @@
|
||||||
{ config, pkgs, lib, inputs, ... }:
|
{
|
||||||
|
config,
|
||||||
|
pkgs,
|
||||||
|
lib,
|
||||||
|
inputs,
|
||||||
|
...
|
||||||
|
}:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [ ./../nix.nix ];
|
imports = [ ./../nix.nix ];
|
||||||
|
@ -10,13 +16,15 @@
|
||||||
|
|
||||||
# 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}")
|
nixPath = lib.mapAttrsToList (key: value: "${key}=${value.to.path}") config.nix.registry;
|
||||||
config.nix.registry;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
nixpkgs = {
|
nixpkgs = {
|
||||||
config = {
|
config = {
|
||||||
permittedInsecurePackages = [ "electron-24.8.6" "electron-25.9.0" ];
|
permittedInsecurePackages = [
|
||||||
|
"electron-24.8.6"
|
||||||
|
"electron-25.9.0"
|
||||||
|
];
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -78,7 +86,12 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.systemPackages = with pkgs; [ git zsh kitty steamtinkerlaunch ];
|
environment.systemPackages = with pkgs; [
|
||||||
|
git
|
||||||
|
zsh
|
||||||
|
kitty
|
||||||
|
steamtinkerlaunch
|
||||||
|
];
|
||||||
|
|
||||||
networking.networkmanager.enable = true;
|
networking.networkmanager.enable = true;
|
||||||
|
|
||||||
|
@ -91,7 +104,9 @@
|
||||||
pulse.enable = true;
|
pulse.enable = true;
|
||||||
jack.enable = true;
|
jack.enable = true;
|
||||||
};
|
};
|
||||||
tailscale = { enable = true; };
|
tailscale = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
flatpak.enable = true;
|
flatpak.enable = true;
|
||||||
avahi = {
|
avahi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|
Loading…
Reference in a new issue