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;
|
services.desktopManager.plasma6.enable = true;
|
||||||
|
environment.plasma6.excludePackages = [ pkgs.kdePackages.discover ];
|
||||||
|
|
||||||
# For cursor in steam?
|
# For cursor in steam?
|
||||||
xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ];
|
xdg.icons.fallbackCursorThemes = [ "breeze_cursors" ];
|
||||||
|
|
||||||
|
programs.partition-manager.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs;
|
||||||
[ maliit-keyboard ] ++ (with kdePackages; [
|
[
|
||||||
|
maliit-keyboard
|
||||||
|
exfatprogs
|
||||||
|
] ++ (with kdePackages; [
|
||||||
sddm-kcm
|
sddm-kcm
|
||||||
plasma-disks
|
plasma-disks
|
||||||
partitionmanager
|
|
||||||
filelight
|
filelight
|
||||||
ffmpegthumbs
|
ffmpegthumbs
|
||||||
kcalc
|
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.automatic = true;
|
||||||
nix.gc.options = "--delete-older-than 7d";
|
nix.gc.options = "--delete-older-than 7d";
|
||||||
|
|
||||||
# programs.nix-ld = {
|
programs.nix-ld = {
|
||||||
# enable = true;
|
enable = true;
|
||||||
# # libraries = pkgs.steam-run.fhsenv.args.multiPkgs pkgs;
|
# libraries = pkgs.steam-run.fhsenv.args.multiPkgs pkgs;
|
||||||
# libraries = pkgs.appimageTools.defaultFhsEnvArgs.targetPkgs 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 = {
|
libvirtd = {
|
||||||
enable = true;
|
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
|
# remember to add the necessary users to the docker group
|
||||||
docker = {
|
docker = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@@ -20,6 +29,11 @@
|
|||||||
# };
|
# };
|
||||||
};
|
};
|
||||||
programs.virt-manager.enable = true;
|
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
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../home-manager/base.nix
|
../../home-manager
|
||||||
../../home-manager/gaming.nix
|
../../home-manager/gaming.nix
|
||||||
../../home-manager/development/vscode.nix
|
../../home-manager/development/vscode.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
../../configuration/base.nix
|
../../configuration
|
||||||
# Include the results of the hardware scan.
|
# Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.disko.nixosModules.default
|
inputs.disko.nixosModules.default
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
home-manager = {
|
home-manager = {
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
inputs.nix-index-database.hmModules.nix-index
|
inputs.nix-index-database.homeModules.nix-index
|
||||||
];
|
];
|
||||||
users = {
|
users = {
|
||||||
"worble" = import ./home.nix;
|
"worble" = import ./home.nix;
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../home-manager/base.nix
|
../../home-manager
|
||||||
../../home-manager/development/vscode.nix
|
../../home-manager/development/vscode.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
{
|
{
|
||||||
imports =
|
imports =
|
||||||
[
|
[
|
||||||
../../configuration/base.nix
|
../../configuration
|
||||||
# Include the results of the hardware scan.
|
# Include the results of the hardware scan.
|
||||||
./hardware-configuration.nix
|
./hardware-configuration.nix
|
||||||
inputs.disko.nixosModules.default
|
inputs.disko.nixosModules.default
|
||||||
@@ -20,18 +20,6 @@
|
|||||||
|
|
||||||
networking.hostName = "tuxedo"; # Define your hostname.
|
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 = ''
|
boot.extraModprobeConfig = ''
|
||||||
options iwlwifi 11n_disable=8 power_save=0
|
options iwlwifi 11n_disable=8 power_save=0
|
||||||
options iwlmvm power_scheme=1
|
options iwlmvm power_scheme=1
|
||||||
@@ -39,10 +27,9 @@
|
|||||||
|
|
||||||
services.hardware.openrgb.enable = true;
|
services.hardware.openrgb.enable = true;
|
||||||
|
|
||||||
fileSystems."/mnt/HDD1" = {
|
fileSystems."/mnt/HDD2" = {
|
||||||
#device = "/dev/disk/by-uuid/35763dc3-c736-4714-ade7-40bf49ad50dd";
|
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
label = "HDD1";
|
label = "HDD2";
|
||||||
options = [
|
options = [
|
||||||
# If you don't have this options attribute, it'll default to "defaults"
|
# 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
|
# boot options for fstab. Search up fstab mount options you can use
|
||||||
@@ -60,15 +47,33 @@
|
|||||||
dumpcap.enable = true;
|
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;[
|
environment.systemPackages = with pkgs;[
|
||||||
distrobox
|
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’.
|
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||||
users.users.worble = {
|
users.users.worble = {
|
||||||
initialPassword = "password";
|
initialPassword = "password";
|
||||||
isNormalUser = true;
|
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;
|
linger = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -76,7 +81,7 @@
|
|||||||
useGlobalPkgs = true;
|
useGlobalPkgs = true;
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
sharedModules = [
|
sharedModules = [
|
||||||
inputs.nix-index-database.hmModules.nix-index
|
inputs.nix-index-database.homeModules.nix-index
|
||||||
];
|
];
|
||||||
users = {
|
users = {
|
||||||
"worble" = import ./home.nix;
|
"worble" = import ./home.nix;
|
||||||
|
|||||||
@@ -2,9 +2,10 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
../../home-manager/base.nix
|
../../home-manager
|
||||||
../../home-manager/development/all.nix
|
../../home-manager/development
|
||||||
../../home-manager/gaming.nix
|
../../home-manager/gaming.nix
|
||||||
|
../../home-manager/streamlink.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
|
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
|
||||||
@@ -34,17 +35,16 @@
|
|||||||
# media
|
# media
|
||||||
jellyfin-media-player
|
jellyfin-media-player
|
||||||
haruna
|
haruna
|
||||||
fooyin
|
|
||||||
strawberry
|
|
||||||
mpc-qt
|
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
electrum
|
electrum
|
||||||
gpu-screen-recorder-gtk
|
|
||||||
syncthing
|
syncthing
|
||||||
dbeaver-bin
|
dbeaver-bin
|
||||||
ruffle
|
ruffle
|
||||||
popsicle
|
popsicle
|
||||||
|
|
||||||
|
# for headset tune
|
||||||
|
headsetcontrol
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file = {
|
home.file = {
|
||||||
@@ -73,16 +73,13 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
mpv = {
|
mpv = {
|
||||||
enable = true;
|
|
||||||
config = {
|
config = {
|
||||||
profile = "gpu-hq";
|
profile = "gpu-hq";
|
||||||
vo = "gpu-next";
|
vo = "gpu-next";
|
||||||
gpu-api = "opengl";
|
gpu-api = "auto";
|
||||||
gpu-context = "wayland";
|
gpu-context = "auto";
|
||||||
hwdec = "vulkan";
|
hwdec = "auto";
|
||||||
screenshot-directory = "/mnt/HDD1/Pictures/";
|
screenshot-directory = "/mnt/HDD2/Pictures/";
|
||||||
# screenshot-directory = "~/Pictures/";
|
|
||||||
screenshot-template = "%F/%F_snapshot_%P";
|
|
||||||
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";
|
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 = ''
|
extraInput = ''
|
||||||
@@ -114,10 +111,10 @@
|
|||||||
services = {
|
services = {
|
||||||
rclone-media = {
|
rclone-media = {
|
||||||
Unit = {
|
Unit = {
|
||||||
Description = "rclone-media /mnt/HDD1/Videos/";
|
Description = "rclone-media /mnt/HDD2/Videos/";
|
||||||
After = [ "network.target" "mnt-HDD1.mount" ];
|
After = [ "network.target" "mnt-HDD2.mount" ];
|
||||||
# Maybe? https://unix.stackexchange.com/questions/281650/systemd-unit-requiresmountsfor-vs-conditionpathisdirectory
|
# Maybe? https://unix.stackexchange.com/questions/281650/systemd-unit-requiresmountsfor-vs-conditionpathisdirectory
|
||||||
# RequiresMountsFor = "/mnt/HDD1/Videos/";
|
# RequiresMountsFor = "/mnt/HDD2/Videos/";
|
||||||
};
|
};
|
||||||
|
|
||||||
Install = {
|
Install = {
|
||||||
@@ -134,7 +131,7 @@ runtimeInputs = [ pkgs.inotify-tools pkgs.libnotify pkgs.rclone ];
|
|||||||
text = ''
|
text = ''
|
||||||
function rclonecopy {
|
function rclonecopy {
|
||||||
file=$1
|
file=$1
|
||||||
changed_rel=''${file#"/mnt/HDD1/Videos"}
|
changed_rel=''${file#"/mnt/HDD2/Videos"}
|
||||||
notify-send -a "rclone-media" "rclone for $file triggered"
|
notify-send -a "rclone-media" "rclone for $file triggered"
|
||||||
if rclone copyto "$file" media:"media-7gM2gcrxRjXqfj$changed_rel" ; then
|
if rclone copyto "$file" media:"media-7gM2gcrxRjXqfj$changed_rel" ; then
|
||||||
notify-send -a "rclone-media" "rclone complete for $file"
|
notify-send -a "rclone-media" "rclone complete for $file"
|
||||||
@@ -146,7 +143,7 @@ text = ''
|
|||||||
inotifywait -mr \
|
inotifywait -mr \
|
||||||
--format '%w%f' \
|
--format '%w%f' \
|
||||||
-e close_write \
|
-e close_write \
|
||||||
/mnt/HDD1/Videos/ |
|
/mnt/HDD2/Videos/ |
|
||||||
while read -r file; do
|
while read -r file; do
|
||||||
rclonecopy "$file"
|
rclonecopy "$file"
|
||||||
done
|
done
|
||||||
|
|||||||
48
flake.lock
generated
48
flake.lock
generated
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750903843,
|
"lastModified": 1758287904,
|
||||||
"narHash": "sha256-Ng9+f0H5/dW+mq/XOKvB9uwvGbsuiiO6HrPdAcVglCs=",
|
"narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "83c4da299c1d7d300f8c6fd3a72ac46cb0d59aae",
|
"rev": "67ff9807dd148e704baadbd4fd783b54282ca627",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -45,11 +45,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750792728,
|
"lastModified": 1758463745,
|
||||||
"narHash": "sha256-Lh3dopA8DdY+ZoaAJPrtkZOZaFEJGSYjOdAYYgOPgE4=",
|
"narHash": "sha256-uhzsV0Q0I9j2y/rfweWeGif5AWe0MGrgZ/3TjpDYdGA=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "home-manager",
|
"repo": "home-manager",
|
||||||
"rev": "366f00797b1efb70f2882d3da485e3c10fd3d557",
|
"rev": "3b955f5f0a942f9f60cdc9cacb7844335d0f21c3",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -66,11 +66,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751170039,
|
"lastModified": 1758427679,
|
||||||
"narHash": "sha256-3EKpUmyGmHYA/RuhZjINTZPU+OFWko0eDwazUOW64nw=",
|
"narHash": "sha256-xwjWRJTKDCjQ0iwfh7WhDhgcS0Wt3d1Yscg83mKBCn4=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "9c932ae632d6b5150515e5749b198c175d8565db",
|
"rev": "fd2569ca2ef7d69f244cd9ffcb66a0540772ff85",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -105,11 +105,11 @@
|
|||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751163387,
|
"lastModified": 1758678836,
|
||||||
"narHash": "sha256-DbEJL/mglbCqTa6s1I8H3Vmrl5roDI0tj7Blx4Js5Do=",
|
"narHash": "sha256-ewDKEXcKYF7L+EGVa+8E1nxK1pdwVrCHcj5UhuGA8V0=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "edb6831ba2ff1b6ff93bec29060e33d6d6cff3cd",
|
"rev": "5007786714b3573b37cf3b8c4a33e2ddce86960d",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -120,11 +120,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750837715,
|
"lastModified": 1758663926,
|
||||||
"narHash": "sha256-2m1ceZjbmgrJCZ2PuQZaK4in3gcg3o6rZ7WK6dr5vAA=",
|
"narHash": "sha256-6CFdj7Xs616t1W4jLDH7IohAAvl5Dyib3qEv/Uqw1rk=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "98236410ea0fe204d0447149537a924fb71a6d4f",
|
"rev": "170ff93c860b2a9868ed1e1102d4e52cb3d934e1",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -152,11 +152,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1751011381,
|
"lastModified": 1758427187,
|
||||||
"narHash": "sha256-krGXKxvkBhnrSC/kGBmg5MyupUUT5R6IBCLEzx9jhMM=",
|
"narHash": "sha256-pHpxZ/IyCwoTQPtFIAG2QaxuSm8jWzrzBGjwQZIttJc=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "30e2e2857ba47844aa71991daa6ed1fc678bcbb7",
|
"rev": "554be6495561ff07b6c724047bdd7e0716aa7b46",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -168,11 +168,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1750969886,
|
"lastModified": 1758589230,
|
||||||
"narHash": "sha256-zW/OFnotiz/ndPFdebpo3X0CrbVNf22n4DjN2vxlb58=",
|
"narHash": "sha256-zMTCFGe8aVGTEr2RqUi/QzC1nOIQ0N1HRsbqB4f646k=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "a676066377a2fe7457369dd37c31fd2263b662f4",
|
"rev": "d1d883129b193f0b495d75c148c2c3a7d95789a0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -202,11 +202,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1748252092,
|
"lastModified": 1756281415,
|
||||||
"narHash": "sha256-6nL55wvV7SthEXaXDiQo8xxkxQLAVcNBU21YJ7GJLm8=",
|
"narHash": "sha256-CjpoVwpJJ+DOZilPrDpZ5S3V+B1Y0calaHxTp2xMvGs=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "system-manager",
|
"repo": "system-manager",
|
||||||
"rev": "c6850451ef769fd03d0ad5474f928b916aa23775",
|
"rev": "e271eedac9a24678ca6cfc61677837422bf474e0",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
|
|||||||
@@ -57,7 +57,7 @@
|
|||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
nix-index-database.hmModules.nix-index
|
nix-index-database.homeModules.nix-index
|
||||||
./devices/deck/home.nix
|
./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 = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
delta.enable = true;
|
delta.enable = true;
|
||||||
@@ -106,6 +112,7 @@ with lib;
|
|||||||
settings = {
|
settings = {
|
||||||
theme = "dracula";
|
theme = "dracula";
|
||||||
show_startup_tips = false;
|
show_startup_tips = false;
|
||||||
|
default_mode = "locked";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,9 @@
|
|||||||
{ pkgs, lib, inputs, ... }:
|
{ pkgs, inputs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
./base/fonts.nix
|
./base
|
||||||
./base/terminal.nix
|
./firefox
|
||||||
./firefox/firefox.nix
|
|
||||||
];
|
];
|
||||||
|
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
@@ -17,12 +16,22 @@
|
|||||||
|
|
||||||
# comms
|
# comms
|
||||||
teamspeak_client
|
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.".icons/default".source = "${pkgs.kdePackages.breeze}/share/icons/breeze_cursors";
|
||||||
|
|
||||||
|
home.file.".npmrc".text = lib.generators.toINIWithGlobalSection { } {
|
||||||
|
globalSection = {
|
||||||
|
ignore-scripts = "true";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
};
|
};
|
||||||
@@ -40,25 +49,5 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.brave;
|
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 = [
|
imports = [
|
||||||
./vscode.nix
|
|
||||||
./helix.nix
|
|
||||||
./dotnet.nix
|
./dotnet.nix
|
||||||
./sql.nix
|
|
||||||
./games.nix
|
./games.nix
|
||||||
|
./helix.nix
|
||||||
|
./sql.nix
|
||||||
|
./vscode.nix
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
@@ -21,30 +21,41 @@ with lib;
|
|||||||
}
|
}
|
||||||
(mkIf config.helix.fullInstall {
|
(mkIf config.helix.fullInstall {
|
||||||
extraPackages = with pkgs;[
|
extraPackages = with pkgs;[
|
||||||
marksman
|
#nix
|
||||||
shfmt
|
|
||||||
bash-language-server
|
|
||||||
superhtml
|
|
||||||
nixd
|
nixd
|
||||||
nixpkgs-fmt
|
nixpkgs-fmt
|
||||||
biome
|
|
||||||
|
#dotnet
|
||||||
omnisharp-roslyn
|
omnisharp-roslyn
|
||||||
netcoredbg
|
netcoredbg
|
||||||
|
|
||||||
|
# rust
|
||||||
|
rustfmt
|
||||||
|
clippy
|
||||||
|
rust-analyzer
|
||||||
|
lldb
|
||||||
|
|
||||||
|
#python
|
||||||
ruff
|
ruff
|
||||||
|
|
||||||
|
# shell
|
||||||
|
shfmt
|
||||||
|
bash-language-server
|
||||||
|
fish-lsp
|
||||||
|
|
||||||
|
# misc
|
||||||
|
hyprls
|
||||||
|
marksman
|
||||||
|
|
||||||
|
# web
|
||||||
|
superhtml
|
||||||
|
biome
|
||||||
] ++ (with nodePackages;[
|
] ++ (with nodePackages;[
|
||||||
vscode-langservers-extracted
|
vscode-langservers-extracted
|
||||||
typescript-language-server
|
typescript-language-server
|
||||||
]);
|
]);
|
||||||
languages = {
|
languages = {
|
||||||
language = [
|
language = [
|
||||||
{
|
|
||||||
name = "nix";
|
|
||||||
language-servers = [ "nixd" "nil" ];
|
|
||||||
}
|
|
||||||
{
|
|
||||||
name = "html";
|
|
||||||
language-servers = [ "superhtml" "vscode-html-language-server" ];
|
|
||||||
}
|
|
||||||
{
|
{
|
||||||
name = "bash";
|
name = "bash";
|
||||||
formatter = { command = "shfmt"; };
|
formatter = { command = "shfmt"; };
|
||||||
|
|||||||
@@ -34,7 +34,9 @@ in
|
|||||||
ms-python.python
|
ms-python.python
|
||||||
ms-python.debugpy
|
ms-python.debugpy
|
||||||
charliermarsh.ruff
|
charliermarsh.ruff
|
||||||
]) ++ (with vscode-marketplace;[ bradlc.vscode-tailwindcss ]);
|
]) ++ (with vscode-marketplace;[
|
||||||
|
bradlc.vscode-tailwindcss
|
||||||
|
]);
|
||||||
userSettings = with pkgs;{
|
userSettings = with pkgs;{
|
||||||
"workbench.iconTheme" = "material-icon-theme";
|
"workbench.iconTheme" = "material-icon-theme";
|
||||||
"window.titleBarStyle" = "custom";
|
"window.titleBarStyle" = "custom";
|
||||||
@@ -72,7 +74,7 @@ in
|
|||||||
"[jsonc]" = {
|
"[jsonc]" = {
|
||||||
"editor.defaultFormatter" = "biomejs.biome";
|
"editor.defaultFormatter" = "biomejs.biome";
|
||||||
};
|
};
|
||||||
"biome.lsp.bin" = "${biome}/bin/biome";
|
# "biome.lsp.bin" = "${biome}/bin/biome";
|
||||||
#"biome.requireConfigFile" = true;
|
#"biome.requireConfigFile" = true;
|
||||||
|
|
||||||
"typescript.preferences.preferTypeOnlyAutoImports" = true;
|
"typescript.preferences.preferTypeOnlyAutoImports" = true;
|
||||||
@@ -89,6 +91,8 @@ in
|
|||||||
"bashIde.shfmt.path" = "${shfmt}/bin/shfmt";
|
"bashIde.shfmt.path" = "${shfmt}/bin/shfmt";
|
||||||
|
|
||||||
"rust-analyzer.rustfmt.overrideCommand" = [ "${rustfmt}/bin/rustfmt" ];
|
"rust-analyzer.rustfmt.overrideCommand" = [ "${rustfmt}/bin/rustfmt" ];
|
||||||
|
|
||||||
|
"tailwindCSS.classFunctions" = [ "cva" "cx" ];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -55,6 +55,8 @@
|
|||||||
"media.hardwaremediakeys.enabled" = false;
|
"media.hardwaremediakeys.enabled" = false;
|
||||||
# restore tabs on startup
|
# restore tabs on startup
|
||||||
"browser.startup.page" = 3;
|
"browser.startup.page" = 3;
|
||||||
|
# do not trim http
|
||||||
|
"browser.urlbar.trimURLs" = false;
|
||||||
|
|
||||||
/* Arkenfox Begin */
|
/* Arkenfox Begin */
|
||||||
|
|
||||||
|
|||||||
@@ -2,15 +2,42 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
steamguard-cli
|
# Wine / Proton
|
||||||
|
wineWowPackages.staging
|
||||||
|
winetricks
|
||||||
bottles
|
bottles
|
||||||
ryubing
|
|
||||||
mgba
|
|
||||||
scanmem
|
|
||||||
(heroic.override {
|
(heroic.override {
|
||||||
extraPkgs = pkgs: [
|
extraPkgs = pkgs: [
|
||||||
pkgs.gamescope
|
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