merge
This commit is contained in:
@@ -1,167 +0,0 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[
|
||||
./base/nix-settings.nix
|
||||
./base/fonts.nix
|
||||
./base/kde.nix
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
swapDevices = [{
|
||||
device = "/var/lib/swapfile";
|
||||
size = 16 * 1024;
|
||||
}];
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.enableAllFirmware = true;
|
||||
|
||||
# networking.hostName = "nixos"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking.networkmanager = {
|
||||
# Easiest to use and most distros use this by default.
|
||||
enable = true;
|
||||
wifi.powersave = false;
|
||||
};
|
||||
|
||||
# Set your time zone.
|
||||
time.timeZone = "Europe/London";
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
|
||||
# Enable sound.
|
||||
# hardware.pulseaudio.enable = true;
|
||||
# OR
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
extraConfig.pipewire-pulse = {
|
||||
"10-prevent-agc" = {
|
||||
"pulse.rules" = [
|
||||
{
|
||||
matches = [
|
||||
{ "application.process.binary" = "chrome"; }
|
||||
{ "application.process.binary" = "Discord"; }
|
||||
{ "application.process.binary" = "teams"; }
|
||||
{ "application.process.binary" = "electron"; }
|
||||
{ "application.process.binary" = "skypeforlinux"; }
|
||||
{ "application.process.binary" = "telegram-desktop"; }
|
||||
{ "application.process.binary" = "vivaldi"; }
|
||||
{ "application.process.binary" = "chromium"; }
|
||||
{ "application.process.binary" = "zoom"; }
|
||||
];
|
||||
actions = {
|
||||
quirks = [
|
||||
"block-source-volume"
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services.fstrim.enable = true;
|
||||
# services.resolved.enable = true;
|
||||
services.mullvad-vpn = {
|
||||
enable = true;
|
||||
package = pkgs.mullvad-vpn;
|
||||
};
|
||||
|
||||
services.fwupd.enable = true;
|
||||
services.geoclue2 = {
|
||||
enable = true;
|
||||
geoProviderUrl = "https://api.beacondb.net/v1/geolocate";
|
||||
};
|
||||
services.flatpak.enable = true;
|
||||
|
||||
programs.bash.blesh.enable = true;
|
||||
programs.fish.enable = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# utils
|
||||
uutils-coreutils-noprefix
|
||||
vim
|
||||
curl
|
||||
inetutils
|
||||
rar
|
||||
libva-utils
|
||||
smartmontools
|
||||
appimage-run
|
||||
|
||||
# dicts
|
||||
nuspell
|
||||
hunspellDicts.en-gb-large
|
||||
|
||||
# For cursor in steam?
|
||||
xsettingsd
|
||||
xorg.xrdb
|
||||
];
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# 443 Helldivers crashes internet otherwise
|
||||
# networking.firewall.allowedTCPPorts = [ 443 ];
|
||||
# networking.firewall.allowedUDPPorts = [ 443 ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# Block list
|
||||
# networking.stevenblack.enable = true;
|
||||
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
# system.copySystemConfiguration = true;
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||
#
|
||||
# Most users should NEVER change this value after the initial install, for any reason,
|
||||
# even if you've upgraded your system to a new NixOS release.
|
||||
#
|
||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
||||
# to actually do that.
|
||||
#
|
||||
# This value being lower than the current NixOS release does NOT mean your system is
|
||||
# out of date, out of support, or vulnerable.
|
||||
#
|
||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||
# and migrated your data accordingly.
|
||||
#
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
13
configuration/base/default.nix
Normal file
13
configuration/base/default.nix
Normal file
@@ -0,0 +1,13 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./fonts.nix
|
||||
./kde.nix
|
||||
./location-time.nix
|
||||
./networking.nix
|
||||
./nix-settings.nix
|
||||
./pipewire.nix
|
||||
./programs.nix
|
||||
];
|
||||
}
|
||||
@@ -27,15 +27,20 @@ in
|
||||
};
|
||||
};
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
environment.plasma6.excludePackages = [ pkgs.kdePackages.discover ];
|
||||
|
||||
# For cursor in steam?
|
||||
xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ];
|
||||
|
||||
programs.partition-manager.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs;
|
||||
[ maliit-keyboard ] ++ (with kdePackages; [
|
||||
[
|
||||
maliit-keyboard
|
||||
exfatprogs
|
||||
] ++ (with kdePackages; [
|
||||
sddm-kcm
|
||||
plasma-disks
|
||||
partitionmanager
|
||||
filelight
|
||||
ffmpegthumbs
|
||||
kcalc
|
||||
|
||||
14
configuration/base/location-time.nix
Normal file
14
configuration/base/location-time.nix
Normal file
@@ -0,0 +1,14 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
# Set your time zone.
|
||||
# time.timeZone = "Europe/London";
|
||||
services.automatic-timezoned.enable = true;
|
||||
services.chrony = {
|
||||
enable = true;
|
||||
};
|
||||
services.geoclue2 = {
|
||||
enable = true;
|
||||
geoProviderUrl = "https://api.beacondb.net/v1/geolocate";
|
||||
};
|
||||
}
|
||||
26
configuration/base/networking.nix
Normal file
26
configuration/base/networking.nix
Normal file
@@ -0,0 +1,26 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
# networking.hostName = "nixos"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking.networkmanager = {
|
||||
# Easiest to use and most distros use this by default.
|
||||
enable = true;
|
||||
wifi.powersave = false;
|
||||
};
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
|
||||
services.mullvad-vpn = {
|
||||
enable = true;
|
||||
package = pkgs.mullvad-vpn;
|
||||
};
|
||||
|
||||
# services.resolved.enable = true;
|
||||
}
|
||||
@@ -7,10 +7,10 @@
|
||||
nix.gc.automatic = true;
|
||||
nix.gc.options = "--delete-older-than 7d";
|
||||
|
||||
# programs.nix-ld = {
|
||||
# enable = true;
|
||||
# # libraries = pkgs.steam-run.fhsenv.args.multiPkgs pkgs;
|
||||
# libraries = pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs pkgs;
|
||||
# };
|
||||
programs.nix-ld = {
|
||||
enable = true;
|
||||
# libraries = pkgs.steam-run.fhsenv.args.multiPkgs pkgs;
|
||||
# libraries = pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs pkgs;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
35
configuration/base/pipewire.nix
Normal file
35
configuration/base/pipewire.nix
Normal file
@@ -0,0 +1,35 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
# Enable sound.
|
||||
# hardware.pulseaudio.enable = true;
|
||||
# OR
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
pulse.enable = true;
|
||||
extraConfig.pipewire-pulse = {
|
||||
"10-prevent-agc" = {
|
||||
"pulse.rules" = [
|
||||
{
|
||||
matches = [
|
||||
{ "application.process.binary" = "chrome"; }
|
||||
{ "application.process.binary" = "Discord"; }
|
||||
{ "application.process.binary" = "teams"; }
|
||||
{ "application.process.binary" = "electron"; }
|
||||
{ "application.process.binary" = "skypeforlinux"; }
|
||||
{ "application.process.binary" = "telegram-desktop"; }
|
||||
{ "application.process.binary" = "vivaldi"; }
|
||||
{ "application.process.binary" = "chromium"; }
|
||||
{ "application.process.binary" = "zoom"; }
|
||||
];
|
||||
actions = {
|
||||
quirks = [
|
||||
"block-source-volume"
|
||||
];
|
||||
};
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
37
configuration/base/programs.nix
Normal file
37
configuration/base/programs.nix
Normal file
@@ -0,0 +1,37 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
security.sudo-rs.enable = true;
|
||||
services.fwupd.enable = true;
|
||||
services.flatpak.enable = true;
|
||||
programs.bash.blesh.enable = true;
|
||||
programs.fish.enable = true;
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
# utils
|
||||
uutils-coreutils-noprefix
|
||||
vim
|
||||
curl
|
||||
inetutils
|
||||
dig
|
||||
|
||||
rar
|
||||
zstd
|
||||
xz
|
||||
p7zip
|
||||
|
||||
libva-utils
|
||||
smartmontools
|
||||
appimage-run
|
||||
|
||||
# dicts
|
||||
nuspell
|
||||
hunspellDicts.en-gb-large
|
||||
|
||||
# For cursor in steam?
|
||||
xsettingsd
|
||||
xorg.xrdb
|
||||
];
|
||||
}
|
||||
74
configuration/default.nix
Normal file
74
configuration/default.nix
Normal file
@@ -0,0 +1,74 @@
|
||||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [ ./base ];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
boot.kernelPackages = pkgs.linuxPackages_latest;
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
hardware.enableAllFirmware = true;
|
||||
|
||||
# Disks / Swap / etc
|
||||
# swapDevices = [{
|
||||
# device = "/var/lib/swapfile";
|
||||
# size = 16 * 1024; # 16 GB
|
||||
# }];
|
||||
zramSwap.enable = true; # Creates a zram block device and uses it as a swap device
|
||||
services.fstrim.enable = true;
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# List services that you want to enable:
|
||||
|
||||
# Enable the OpenSSH daemon.
|
||||
# services.openssh.enable = true;
|
||||
|
||||
# Open ports in the firewall.
|
||||
# 443 Helldivers crashes internet otherwise
|
||||
# networking.firewall.allowedTCPPorts = [ 443 ];
|
||||
# networking.firewall.allowedUDPPorts = [ 443 ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# Block list
|
||||
# networking.stevenblack.enable = true;
|
||||
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
# system.copySystemConfiguration = true;
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||
#
|
||||
# Most users should NEVER change this value after the initial install, for any reason,
|
||||
# even if you've upgraded your system to a new NixOS release.
|
||||
#
|
||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
||||
# to actually do that.
|
||||
#
|
||||
# This value being lower than the current NixOS release does NOT mean your system is
|
||||
# out of date, out of support, or vulnerable.
|
||||
#
|
||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||
# and migrated your data accordingly.
|
||||
#
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
@@ -8,8 +8,17 @@
|
||||
};
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
qemu.vhostUserPackages = [ pkgs.virtiofsd ];
|
||||
qemu = {
|
||||
vhostUserPackages = [ pkgs.virtiofsd ];
|
||||
ovmf.enable = true;
|
||||
};
|
||||
};
|
||||
# podman = {
|
||||
# enable = true;
|
||||
# dockerSocket.enable = true;
|
||||
# dockerCompat = true;
|
||||
# defaultNetwork.settings.dns_enabled = true;
|
||||
# };
|
||||
# remember to add the necessary users to the docker group
|
||||
docker = {
|
||||
enable = true;
|
||||
@@ -20,6 +29,11 @@
|
||||
# };
|
||||
};
|
||||
programs.virt-manager.enable = true;
|
||||
# environment.systemPackages = with pkgs;[ podman-compose ];
|
||||
# environment.systemPackages = with pkgs;[
|
||||
# docker-compose
|
||||
# # podman-compose
|
||||
# podman-tui
|
||||
# podman-desktop
|
||||
# ];
|
||||
}
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@ let
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
../../home-manager/base.nix
|
||||
../../home-manager
|
||||
../../home-manager/gaming.nix
|
||||
../../home-manager/development/vscode.nix
|
||||
];
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../../configuration/base.nix
|
||||
../../configuration
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
inputs.disko.nixosModules.default
|
||||
@@ -30,7 +30,7 @@
|
||||
home-manager = {
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
sharedModules = [
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
inputs.nix-index-database.homeModules.nix-index
|
||||
];
|
||||
users = {
|
||||
"worble" = import ./home.nix;
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../home-manager/base.nix
|
||||
../../home-manager
|
||||
../../home-manager/development/vscode.nix
|
||||
];
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
{
|
||||
imports =
|
||||
[
|
||||
../../configuration/base.nix
|
||||
../../configuration
|
||||
# Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
inputs.disko.nixosModules.default
|
||||
@@ -20,18 +20,6 @@
|
||||
|
||||
networking.hostName = "tuxedo"; # Define your hostname.
|
||||
|
||||
# one day i will fix the fullscreen issue
|
||||
# https://community.frame.work/t/fullscreen-games-freeze-on-plasma-6-with-dgpu/61088/9
|
||||
# https://community.frame.work/t/bug-psa-gpu-bug-causes-crashes-on-kde-plasma/58133/4
|
||||
# https://www.reddit.com/r/archlinux/comments/1gzy0xd/amdgpu_regression_on_kernel_612_choppy/
|
||||
# https://forum.manjaro.org/t/unstable-update-october-2024-edition/168715/44
|
||||
boot.kernelParams = [
|
||||
# "amdgpu.dcdebugmask=0x410"
|
||||
# or amdgpu.dcdebugmask=0x010
|
||||
# or amdgpu.dcdebugmask=0x400
|
||||
# or both amdgpu.dcdebugmask=0x410
|
||||
];
|
||||
|
||||
boot.extraModprobeConfig = ''
|
||||
options iwlwifi 11n_disable=8 power_save=0
|
||||
options iwlmvm power_scheme=1
|
||||
@@ -39,10 +27,9 @@
|
||||
|
||||
services.hardware.openrgb.enable = true;
|
||||
|
||||
fileSystems."/mnt/HDD1" = {
|
||||
#device = "/dev/disk/by-uuid/35763dc3-c736-4714-ade7-40bf49ad50dd";
|
||||
fileSystems."/mnt/HDD2" = {
|
||||
fsType = "ext4";
|
||||
label = "HDD1";
|
||||
label = "HDD2";
|
||||
options = [
|
||||
# If you don't have this options attribute, it'll default to "defaults"
|
||||
# boot options for fstab. Search up fstab mount options you can use
|
||||
@@ -60,15 +47,33 @@
|
||||
dumpcap.enable = true;
|
||||
};
|
||||
|
||||
programs.gpu-screen-recorder.enable = true; # For promptless recording on both CLI and GUI
|
||||
|
||||
# programs.obs-studio = {
|
||||
# enable = true;
|
||||
# enableVirtualCamera = true;
|
||||
# };
|
||||
|
||||
environment.systemPackages = with pkgs;[
|
||||
distrobox
|
||||
gpu-screen-recorder-gtk
|
||||
|
||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".lsfg-vk
|
||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".lsfg-vk-ui
|
||||
];
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
users.users.worble = {
|
||||
initialPassword = "password";
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" "gamemode" "docker" "cdrom" "wireshark" ]; # Enable ‘sudo’ for the user.
|
||||
extraGroups = [
|
||||
"wheel"
|
||||
"gamemode"
|
||||
"docker"
|
||||
"podman"
|
||||
"cdrom"
|
||||
"wireshark"
|
||||
]; # Enable ‘sudo’ for the user.
|
||||
linger = true;
|
||||
};
|
||||
|
||||
@@ -76,7 +81,7 @@
|
||||
useGlobalPkgs = true;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
sharedModules = [
|
||||
inputs.nix-index-database.hmModules.nix-index
|
||||
inputs.nix-index-database.homeModules.nix-index
|
||||
];
|
||||
users = {
|
||||
"worble" = import ./home.nix;
|
||||
|
||||
@@ -2,9 +2,10 @@
|
||||
|
||||
{
|
||||
imports = [
|
||||
../../home-manager/base.nix
|
||||
../../home-manager/development/all.nix
|
||||
../../home-manager
|
||||
../../home-manager/development
|
||||
../../home-manager/gaming.nix
|
||||
../../home-manager/streamlink.nix
|
||||
];
|
||||
|
||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
|
||||
@@ -34,17 +35,16 @@
|
||||
# media
|
||||
jellyfin-media-player
|
||||
haruna
|
||||
fooyin
|
||||
strawberry
|
||||
mpc-qt
|
||||
|
||||
# misc
|
||||
electrum
|
||||
gpu-screen-recorder-gtk
|
||||
syncthing
|
||||
dbeaver-bin
|
||||
ruffle
|
||||
popsicle
|
||||
|
||||
# for headset tune
|
||||
headsetcontrol
|
||||
];
|
||||
|
||||
home.file = {
|
||||
@@ -73,16 +73,13 @@
|
||||
};
|
||||
|
||||
mpv = {
|
||||
enable = true;
|
||||
config = {
|
||||
profile = "gpu-hq";
|
||||
vo = "gpu-next";
|
||||
gpu-api = "opengl";
|
||||
gpu-context = "wayland";
|
||||
hwdec = "vulkan";
|
||||
screenshot-directory = "/mnt/HDD1/Pictures/";
|
||||
# screenshot-directory = "~/Pictures/";
|
||||
screenshot-template = "%F/%F_snapshot_%P";
|
||||
gpu-api = "auto";
|
||||
gpu-context = "auto";
|
||||
hwdec = "auto";
|
||||
screenshot-directory = "/mnt/HDD2/Pictures/";
|
||||
glsl-shaders = "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl";
|
||||
};
|
||||
extraInput = ''
|
||||
@@ -114,10 +111,10 @@
|
||||
services = {
|
||||
rclone-media = {
|
||||
Unit = {
|
||||
Description = "rclone-media /mnt/HDD1/Videos/";
|
||||
After = [ "network.target" "mnt-HDD1.mount" ];
|
||||
Description = "rclone-media /mnt/HDD2/Videos/";
|
||||
After = [ "network.target" "mnt-HDD2.mount" ];
|
||||
# Maybe? https://unix.stackexchange.com/questions/281650/systemd-unit-requiresmountsfor-vs-conditionpathisdirectory
|
||||
# RequiresMountsFor = "/mnt/HDD1/Videos/";
|
||||
# RequiresMountsFor = "/mnt/HDD2/Videos/";
|
||||
};
|
||||
|
||||
Install = {
|
||||
@@ -134,7 +131,7 @@ runtimeInputs = [ pkgs.inotify-tools pkgs.libnotify pkgs.rclone ];
|
||||
text = ''
|
||||
function rclonecopy {
|
||||
file=$1
|
||||
changed_rel=''${file#"/mnt/HDD1/Videos"}
|
||||
changed_rel=''${file#"/mnt/HDD2/Videos"}
|
||||
notify-send -a "rclone-media" "rclone for $file triggered"
|
||||
if rclone copyto "$file" media:"media-7gM2gcrxRjXqfj$changed_rel" ; then
|
||||
notify-send -a "rclone-media" "rclone complete for $file"
|
||||
@@ -146,7 +143,7 @@ text = ''
|
||||
inotifywait -mr \
|
||||
--format '%w%f' \
|
||||
-e close_write \
|
||||
/mnt/HDD1/Videos/ |
|
||||
/mnt/HDD2/Videos/ |
|
||||
while read -r file; do
|
||||
rclonecopy "$file"
|
||||
done
|
||||
|
||||
48
flake.lock
generated
48
flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750903843,
|
||||
"narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=",
|
||||
"lastModified": 1758287904,
|
||||
"narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae",
|
||||
"rev": "67ff9807dd148e704baadbd4fd783b54282ca627",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -45,11 +45,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1750792728,
|
||||
"narHash": "sha256-Lh3dopA8DdY+ZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4=",
|
||||
"lastModified": 1758463745,
|
||||
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "366f00797b1efb70f2882d3da485e3c10fd3d557",
|
||||
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -66,11 +66,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751170039,
|
||||
"narHash": "sha256-3EKpUmyGmHYA/RuhZjINTZPU+OFWko0eDwazUOW64nw=",
|
||||
"lastModified": 1758427679,
|
||||
"narHash": "sha256-xwjWRJTKDCjQ0iwfh7WhDhgcS0Wt3d1Yscg83mKBCn4=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "9c932ae632d6b5150515e5749b198c175d8565db",
|
||||
"rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -105,11 +105,11 @@
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1751163387,
|
||||
"narHash": "sha256-DbEJL/mglbCqTa6s1I8H3Vmrl5roDI0tj7Blx4Js5Do=",
|
||||
"lastModified": 1758678836,
|
||||
"narHash": "sha256-ewDKEXcKYF7L+EGVa+8E1nxK1pdwVrCHcj5UhuGA8V0=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "edb6831ba2ff1b6ff93bec29060e33d6d6cff3cd",
|
||||
"rev": "5007786714b3573b37cf3b8c4a33e2ddce86960d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -120,11 +120,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1750837715,
|
||||
"narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=",
|
||||
"lastModified": 1758663926,
|
||||
"narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "98236410ea0fe204d0447149537a924fb71a6d4f",
|
||||
"rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -152,11 +152,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1751011381,
|
||||
"narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=",
|
||||
"lastModified": 1758427187,
|
||||
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "30e2e2857ba47844aa71991daa6ed1fc678bcbb7",
|
||||
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -168,11 +168,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1750969886,
|
||||
"narHash": "sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58=",
|
||||
"lastModified": 1758589230,
|
||||
"narHash": "sha256-zMTCFGe8aVGTEr2RqUi/QzC1nOIQ0N1HRsbqB4f646k=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a676066377a2fe7457369dd37c31fd2263b662f4",
|
||||
"rev": "d1d883129b193f0b495d75c148c2c3a7d95789a0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -202,11 +202,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1748252092,
|
||||
"narHash": "sha256-6nL55wvV7SthEXaXDiQo8xxkxQLAVcNBU21YJ7GJLm8=",
|
||||
"lastModified": 1756281415,
|
||||
"narHash": "sha256-CjpoVwpJJ+DOZilPrDpZ5S3V+B1Y0calaHxTp2xMvGs=",
|
||||
"owner": "numtide",
|
||||
"repo": "system-manager",
|
||||
"rev": "c6850451ef769fd03d0ad5474f928b916aa23775",
|
||||
"rev": "e271eedac9a24678ca6cfc61677837422bf474e0",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
nix-index-database.hmModules.nix-index
|
||||
nix-index-database.homeModules.nix-index
|
||||
./devices/deck/home.nix
|
||||
];
|
||||
};
|
||||
|
||||
9
home-manager/base/default.nix
Normal file
9
home-manager/base/default.nix
Normal file
@@ -0,0 +1,9 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./fonts.nix
|
||||
./mpv.nix
|
||||
./terminal.nix
|
||||
];
|
||||
}
|
||||
30
home-manager/base/mpv.nix
Normal file
30
home-manager/base/mpv.nix
Normal file
@@ -0,0 +1,30 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
programs = {
|
||||
mpv = {
|
||||
enable = true;
|
||||
package = (
|
||||
pkgs.mpv-unwrapped.wrapper {
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
uosc
|
||||
sponsorblock
|
||||
];
|
||||
|
||||
mpv = pkgs.mpv-unwrapped;
|
||||
}
|
||||
);
|
||||
config = {
|
||||
screenshot-directory = lib.mkDefault "~/Pictures/";
|
||||
screenshot-template = lib.mkDefault "%F/%F_snapshot_%P";
|
||||
sub-ass-use-video-data = lib.mkDefault "aspect-ratio";
|
||||
};
|
||||
|
||||
scriptOpts = {
|
||||
uosc = {
|
||||
time_precision = 3;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -45,6 +45,12 @@ with lib;
|
||||
'';
|
||||
};
|
||||
|
||||
nix-index = {
|
||||
enable = true;
|
||||
enableBashIntegration = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
delta.enable = true;
|
||||
@@ -106,6 +112,7 @@ with lib;
|
||||
settings = {
|
||||
theme = "dracula";
|
||||
show_startup_tips = false;
|
||||
default_mode = "locked";
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
{ pkgs, lib, inputs, ... }:
|
||||
{ pkgs, inputs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./base/fonts.nix
|
||||
./base/terminal.nix
|
||||
./firefox/firefox.nix
|
||||
./base
|
||||
./firefox
|
||||
];
|
||||
|
||||
home.packages = with pkgs;[
|
||||
@@ -17,12 +16,22 @@
|
||||
|
||||
# comms
|
||||
teamspeak_client
|
||||
vesktop
|
||||
discord
|
||||
|
||||
# media
|
||||
strawberry
|
||||
];
|
||||
|
||||
# set breeze as default cursor
|
||||
# set breeze as default cursor
|
||||
# For cursor in steam?
|
||||
home.file.".icons/default".source = "${pkgs.kdePackages.breeze}/share/icons/breeze_cursors";
|
||||
|
||||
home.file.".npmrc".text = lib.generators.toINIWithGlobalSection { } {
|
||||
globalSection = {
|
||||
ignore-scripts = "true";
|
||||
};
|
||||
};
|
||||
|
||||
home.sessionVariables = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
@@ -40,25 +49,5 @@
|
||||
enable = true;
|
||||
package = pkgs.brave;
|
||||
};
|
||||
|
||||
mpv = lib.mkDefault {
|
||||
enable = true;
|
||||
package = (
|
||||
pkgs.mpv-unwrapped.wrapper {
|
||||
scripts = with pkgs.mpvScripts; [
|
||||
uosc
|
||||
sponsorblock
|
||||
];
|
||||
|
||||
mpv = pkgs.mpv-unwrapped.override {
|
||||
waylandSupport = true;
|
||||
};
|
||||
}
|
||||
);
|
||||
config = {
|
||||
screenshot-directory = "~/Pictures/";
|
||||
screenshot-template = "%F/%F_snapshot_%P";
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -2,10 +2,10 @@
|
||||
|
||||
{
|
||||
imports = [
|
||||
./vscode.nix
|
||||
./helix.nix
|
||||
./dotnet.nix
|
||||
./sql.nix
|
||||
./games.nix
|
||||
./helix.nix
|
||||
./sql.nix
|
||||
./vscode.nix
|
||||
];
|
||||
}
|
||||
@@ -21,30 +21,41 @@ with lib;
|
||||
}
|
||||
(mkIf config.helix.fullInstall {
|
||||
extraPackages = with pkgs;[
|
||||
marksman
|
||||
shfmt
|
||||
bash-language-server
|
||||
superhtml
|
||||
#nix
|
||||
nixd
|
||||
nixpkgs-fmt
|
||||
biome
|
||||
|
||||
#dotnet
|
||||
omnisharp-roslyn
|
||||
netcoredbg
|
||||
|
||||
# rust
|
||||
rustfmt
|
||||
clippy
|
||||
rust-analyzer
|
||||
lldb
|
||||
|
||||
#python
|
||||
ruff
|
||||
|
||||
# shell
|
||||
shfmt
|
||||
bash-language-server
|
||||
fish-lsp
|
||||
|
||||
# misc
|
||||
hyprls
|
||||
marksman
|
||||
|
||||
# web
|
||||
superhtml
|
||||
biome
|
||||
] ++ (with nodePackages;[
|
||||
vscode-langservers-extracted
|
||||
typescript-language-server
|
||||
]);
|
||||
languages = {
|
||||
language = [
|
||||
{
|
||||
name = "nix";
|
||||
language-servers = [ "nixd" "nil" ];
|
||||
}
|
||||
{
|
||||
name = "html";
|
||||
language-servers = [ "superhtml" "vscode-html-language-server" ];
|
||||
}
|
||||
{
|
||||
name = "bash";
|
||||
formatter = { command = "shfmt"; };
|
||||
|
||||
@@ -34,7 +34,9 @@ in
|
||||
ms-python.python
|
||||
ms-python.debugpy
|
||||
charliermarsh.ruff
|
||||
]) ++ (with vscode-marketplace;[ bradlc.vscode-tailwindcss ]);
|
||||
]) ++ (with vscode-marketplace;[
|
||||
bradlc.vscode-tailwindcss
|
||||
]);
|
||||
userSettings = with pkgs;{
|
||||
"workbench.iconTheme" = "material-icon-theme";
|
||||
"window.titleBarStyle" = "custom";
|
||||
@@ -72,7 +74,7 @@ in
|
||||
"[jsonc]" = {
|
||||
"editor.defaultFormatter" = "biomejs.biome";
|
||||
};
|
||||
"biome.lsp.bin" = "${biome}/bin/biome";
|
||||
# "biome.lsp.bin" = "${biome}/bin/biome";
|
||||
#"biome.requireConfigFile" = true;
|
||||
|
||||
"typescript.preferences.preferTypeOnlyAutoImports" = true;
|
||||
@@ -89,6 +91,8 @@ in
|
||||
"bashIde.shfmt.path" = "${shfmt}/bin/shfmt";
|
||||
|
||||
"rust-analyzer.rustfmt.overrideCommand" = [ "${rustfmt}/bin/rustfmt" ];
|
||||
|
||||
"tailwindCSS.classFunctions" = [ "cva" "cx" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
@@ -55,6 +55,8 @@
|
||||
"media.hardwaremediakeys.enabled" = false;
|
||||
# restore tabs on startup
|
||||
"browser.startup.page" = 3;
|
||||
# do not trim http
|
||||
"browser.urlbar.trimURLs" = false;
|
||||
|
||||
/* Arkenfox Begin */
|
||||
|
||||
|
||||
@@ -2,15 +2,42 @@
|
||||
|
||||
{
|
||||
home.packages = with pkgs;[
|
||||
steamguard-cli
|
||||
# Wine / Proton
|
||||
wineWowPackages.staging
|
||||
winetricks
|
||||
bottles
|
||||
ryubing
|
||||
mgba
|
||||
scanmem
|
||||
(heroic.override {
|
||||
extraPkgs = pkgs: [
|
||||
pkgs.gamescope
|
||||
];
|
||||
})
|
||||
(umu-launcher.override {
|
||||
extraPkgs = pkgs: with pkgs.gst_all_1; [
|
||||
gstreamer
|
||||
gst-plugins-base
|
||||
gst-plugins-good
|
||||
gst-plugins-bad
|
||||
gst-plugins-ugly
|
||||
gst-libav
|
||||
gst-vaapi
|
||||
];
|
||||
})
|
||||
|
||||
# Steam
|
||||
steamguard-cli
|
||||
|
||||
# Emulators
|
||||
ryubing
|
||||
mgba
|
||||
|
||||
# Cheat engine
|
||||
scanmem
|
||||
];
|
||||
|
||||
# programs.lutris = {
|
||||
# enable = true;
|
||||
# extraPackages = with pkgs; [ mangohud winetricks gamescope gamemode umu-launcher ];
|
||||
# protonPackages = [ pkgs.proton-ge-bin ];
|
||||
# winePackages = [ pkgs.wineWowPackages.staging ];
|
||||
# };
|
||||
}
|
||||
|
||||
42
home-manager/streamlink.nix
Normal file
42
home-manager/streamlink.nix
Normal file
@@ -0,0 +1,42 @@
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
let
|
||||
proxies = [
|
||||
"https://eu.luminous.dev" # (Europe)
|
||||
"https://eu2.luminous.dev" # (Europe 2)
|
||||
"https://as.luminous.dev" # (Asia)
|
||||
"https://lb-eu.cdn-perfprod.com" # (Europe)
|
||||
"https://lb-eu2.cdn-perfprod.com" # (Europe 2)
|
||||
"https://lb-eu4.cdn-perfprod.com" # (Europe 4)
|
||||
"https://lb-eu5.cdn-perfprod.com" # (Europe 5)
|
||||
"https://lb-eu3.cdn-perfprod.com" # (Europe 3, using Russia-only proxies)
|
||||
"https://lb-na.cdn-perfprod.com" # (NA)
|
||||
"https://lb-as.cdn-perfprod.com" # (Asia)
|
||||
"https://lb-sa.cdn-perfprod.com" # (SA)
|
||||
];
|
||||
in
|
||||
{
|
||||
programs.streamlink = {
|
||||
enable = true;
|
||||
settings = {
|
||||
player = "${pkgs.mpv}/bin/mpv";
|
||||
player-args = "--cache 2048";
|
||||
player-no-close = true;
|
||||
twitch-low-latency = true;
|
||||
twitch-disable-ads = true;
|
||||
default-stream = "best";
|
||||
};
|
||||
plugins = {
|
||||
# It is important this is called "twitch" and overwrites the default plugin
|
||||
twitch = {
|
||||
settings = {
|
||||
twitch-proxy-playlist = lib.concatStringsSep "," proxies;
|
||||
};
|
||||
src = builtins.readFile (pkgs.fetchurl {
|
||||
url = "https://github.com/2bc4/streamlink-ttvlol/releases/download/7.0.0-20241105/twitch.py";
|
||||
hash = "sha256-WbxLNkxG64BlnfI/RwY5N0bqEkO/D6u14nYMyTuveN8=";
|
||||
});
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user