Compare commits
28 Commits
4684925c97
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
| 16980bf9f4 | |||
| 4fc8b0f4fa | |||
| 3a9d27adb8 | |||
| 079ba8a9d5 | |||
| 48c40f8124 | |||
| c3171bd792 | |||
| a64a137724 | |||
| d776ce0667 | |||
| 70a7c6d30a | |||
| f648311d04 | |||
| 8f5a18577f | |||
| 4a49961bc0 | |||
| 9f51eaf5fc | |||
| bfc2435b43 | |||
| 86abbf360e | |||
| f33924569f | |||
| 72558d3d07 | |||
| 03f7b779bd | |||
| 21f1600fdc | |||
| c55f1eb9d7 | |||
| c7d7cb845b | |||
| 30441810be | |||
| 531fafcb52 | |||
| 89a15a63e8 | |||
| 66e7e4fdc0 | |||
| f66ef91e85 | |||
| d5d9396b6d | |||
| fb5b7abbd4 |
@@ -6,6 +6,7 @@
|
|||||||
./location-time.nix
|
./location-time.nix
|
||||||
./networking.nix
|
./networking.nix
|
||||||
./nix-settings.nix
|
./nix-settings.nix
|
||||||
|
./oomd.nix
|
||||||
./pipewire.nix
|
./pipewire.nix
|
||||||
./programs.nix
|
./programs.nix
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -5,14 +5,14 @@
|
|||||||
# Pick only one of the below networking options.
|
# Pick only one of the below networking options.
|
||||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||||
networking = {
|
networking = {
|
||||||
nftables = {
|
|
||||||
enable = true;
|
|
||||||
};
|
|
||||||
networkmanager = {
|
networkmanager = {
|
||||||
# Easiest to use and most distros use this by default.
|
# Easiest to use and most distros use this by default.
|
||||||
enable = true;
|
enable = true;
|
||||||
wifi.powersave = false;
|
wifi.powersave = false;
|
||||||
};
|
};
|
||||||
|
firewall = {
|
||||||
|
enable = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Configure network proxy if necessary
|
# Configure network proxy if necessary
|
||||||
@@ -23,7 +23,6 @@
|
|||||||
# services.printing.enable = true;
|
# services.printing.enable = true;
|
||||||
|
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall.enable = true;
|
|
||||||
# 443 Helldivers crashes internet otherwise
|
# 443 Helldivers crashes internet otherwise
|
||||||
# networking.firewall.allowedTCPPorts = [ 443 ];
|
# networking.firewall.allowedTCPPorts = [ 443 ];
|
||||||
# networking.firewall.allowedUDPPorts = [ 443 ];
|
# networking.firewall.allowedUDPPorts = [ 443 ];
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ ... }:
|
{ inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
nixpkgs.config.allowUnfree = true;
|
nixpkgs.config.allowUnfree = true;
|
||||||
@@ -6,6 +6,8 @@
|
|||||||
nix.settings.auto-optimise-store = true;
|
nix.settings.auto-optimise-store = true;
|
||||||
nix.gc.automatic = true;
|
nix.gc.automatic = true;
|
||||||
nix.gc.options = "--delete-older-than 7d";
|
nix.gc.options = "--delete-older-than 7d";
|
||||||
|
# https://github.com/nix-community/nixd/blob/main/nixd/docs/configuration.md
|
||||||
|
nix.nixPath = [ "nixpkgs=${inputs.nixpkgs}" ];
|
||||||
|
|
||||||
programs.nix-ld = {
|
programs.nix-ld = {
|
||||||
enable = true;
|
enable = true;
|
||||||
|
|||||||
10
configuration/base/oomd.nix
Normal file
10
configuration/base/oomd.nix
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{ ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
systemd.oomd = {
|
||||||
|
enable = true;
|
||||||
|
enableRootSlice = true;
|
||||||
|
enableSystemSlice = true;
|
||||||
|
enableUserSlices = true;
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -8,30 +8,30 @@
|
|||||||
programs.fish.enable = true;
|
programs.fish.enable = true;
|
||||||
# List packages installed in system profile. To search, run:
|
# List packages installed in system profile. To search, run:
|
||||||
# $ nix search wget
|
# $ nix search wget
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs; [
|
||||||
[
|
# utils
|
||||||
# utils
|
uutils-coreutils-noprefix
|
||||||
uutils-coreutils-noprefix
|
vim
|
||||||
vim
|
curl
|
||||||
curl
|
inetutils
|
||||||
inetutils
|
dig
|
||||||
dig
|
exfatprogs
|
||||||
|
|
||||||
rar
|
rar
|
||||||
zstd
|
zstd
|
||||||
xz
|
p7zip
|
||||||
p7zip
|
busybox
|
||||||
|
|
||||||
libva-utils
|
libva-utils
|
||||||
smartmontools
|
smartmontools
|
||||||
appimage-run
|
appimage-run
|
||||||
|
|
||||||
# dicts
|
# dicts
|
||||||
nuspell
|
nuspell
|
||||||
hunspellDicts.en-gb-large
|
hunspellDicts.en-gb-large
|
||||||
|
|
||||||
# For cursor in steam?
|
# For cursor in steam?
|
||||||
xsettingsd
|
xsettingsd
|
||||||
xorg.xrdb
|
xorg.xrdb
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,14 +8,13 @@
|
|||||||
programs.gamescope = {
|
programs.gamescope = {
|
||||||
enable = true;
|
enable = true;
|
||||||
# capSysNice = true;
|
# capSysNice = true;
|
||||||
# args = [
|
args = [
|
||||||
# "-H 1080"
|
"-H 1080"
|
||||||
# ];
|
];
|
||||||
};
|
};
|
||||||
programs.steam = {
|
programs.steam = {
|
||||||
enable = true;
|
enable = true;
|
||||||
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
remotePlay.openFirewall = true; # Open ports in the firewall for Steam Remote Play
|
||||||
dedicatedServer.openFirewall = true; # Open ports in the firewall for Source Dedicated Server
|
|
||||||
gamescopeSession.enable = true;
|
gamescopeSession.enable = true;
|
||||||
protontricks.enable = true;
|
protontricks.enable = true;
|
||||||
extraCompatPackages = [ pkgs.proton-ge-bin ];
|
extraCompatPackages = [ pkgs.proton-ge-bin ];
|
||||||
@@ -36,4 +35,9 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
programs.cdemu.enable = true; # Remember to add users to the cdrom group for this to work
|
programs.cdemu.enable = true; # Remember to add users to the cdrom group for this to work
|
||||||
|
|
||||||
|
environment.systemPackages = with pkgs;[
|
||||||
|
lsfg-vk
|
||||||
|
lsfg-vk-ui
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
24
configuration/modules/i18n.nix
Normal file
24
configuration/modules/i18n.nix
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{ pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
# Install Japanese IME MOZC
|
||||||
|
i18n.inputMethod = {
|
||||||
|
enable = true;
|
||||||
|
type = "fcitx5";
|
||||||
|
# ibus = {
|
||||||
|
# engines = with pkgs.ibus-engines; [ mozc anthy ];
|
||||||
|
# panel = "${pkgs.kdePackages.plasma-desktop}/libexec/kimpanel-ibus-panel";
|
||||||
|
# };
|
||||||
|
fcitx5 = {
|
||||||
|
waylandFrontend = true;
|
||||||
|
addons = with pkgs; [
|
||||||
|
fcitx5-mozc
|
||||||
|
fcitx5-anthy
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
environment.systemPackages = [
|
||||||
|
pkgs.kdePackages.fcitx5-configtool
|
||||||
|
];
|
||||||
|
}
|
||||||
@@ -1,15 +1,5 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
|
||||||
kwin = lib.concatStringsSep " " [
|
|
||||||
"${lib.getBin pkgs.kdePackages.kwin}/bin/kwin_wayland"
|
|
||||||
"--no-global-shortcuts"
|
|
||||||
"--no-kactivities"
|
|
||||||
"--no-lockscreen"
|
|
||||||
"--locale1"
|
|
||||||
"--inputmethod maliit-keyboard"
|
|
||||||
];
|
|
||||||
in
|
|
||||||
{
|
{
|
||||||
services.xserver.enable = true; # optional
|
services.xserver.enable = true; # optional
|
||||||
|
|
||||||
@@ -20,11 +10,6 @@ in
|
|||||||
services.displayManager.sddm = {
|
services.displayManager.sddm = {
|
||||||
enable = true;
|
enable = true;
|
||||||
wayland.enable = true;
|
wayland.enable = true;
|
||||||
settings = {
|
|
||||||
Wayland = {
|
|
||||||
CompositorCommand = kwin;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
services.desktopManager.plasma6.enable = true;
|
services.desktopManager.plasma6.enable = true;
|
||||||
environment.plasma6.excludePackages = [ pkgs.kdePackages.discover ];
|
environment.plasma6.excludePackages = [ pkgs.kdePackages.discover ];
|
||||||
@@ -34,15 +19,11 @@ in
|
|||||||
|
|
||||||
programs.partition-manager.enable = true;
|
programs.partition-manager.enable = true;
|
||||||
|
|
||||||
environment.systemPackages = with pkgs;
|
environment.systemPackages = with pkgs.kdePackages;[
|
||||||
[
|
sddm-kcm
|
||||||
maliit-keyboard
|
plasma-disks
|
||||||
exfatprogs
|
filelight
|
||||||
] ++ (with kdePackages; [
|
ffmpegthumbs
|
||||||
sddm-kcm
|
kcalc
|
||||||
plasma-disks
|
];
|
||||||
filelight
|
|
||||||
ffmpegthumbs
|
|
||||||
kcalc
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
{ ... }:
|
{ ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
services.power-profiles-daemon.enable = false;
|
services.power-profiles-daemon.enable = true;
|
||||||
services.tlp = {
|
# services.tlp = {
|
||||||
enable = true;
|
# enable = true;
|
||||||
settings = {
|
# settings = {
|
||||||
RESTORE_DEVICE_STATE_ON_STARTUP = 1;
|
# RESTORE_DEVICE_STATE_ON_STARTUP = 1;
|
||||||
USB_AUTOSUSPEND = 0;
|
# USB_AUTOSUSPEND = 0;
|
||||||
PLATFORM_PROFILE_ON_AC = "performance";
|
# PLATFORM_PROFILE_ON_AC = "performance";
|
||||||
PLATFORM_PROFILE_ON_BAT = "low-power";
|
# PLATFORM_PROFILE_ON_BAT = "low-power";
|
||||||
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
# CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
# CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
|
||||||
CPU_BOOST_ON_AC = 1;
|
# CPU_BOOST_ON_AC = 1;
|
||||||
CPU_BOOST_ON_BAT = 0;
|
# CPU_BOOST_ON_BAT = 0;
|
||||||
};
|
# };
|
||||||
};
|
# };
|
||||||
|
|
||||||
# Enable touchpad support (enabled default in most desktopManager).
|
# Enable touchpad support (enabled by default in most desktopManagers).
|
||||||
services.libinput.enable = true;
|
services.libinput.enable = true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,39 +1,53 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
{
|
{
|
||||||
virtualisation = {
|
options.virtualisation.containerManagement = mkOption {
|
||||||
containers = {
|
type = types.enum [ "docker" "podman" ];
|
||||||
# Enable common container config files in /etc/containers
|
default = "docker";
|
||||||
enable = true;
|
};
|
||||||
};
|
|
||||||
libvirtd = {
|
config = {
|
||||||
enable = true;
|
virtualisation = {
|
||||||
qemu = {
|
containers = {
|
||||||
vhostUserPackages = [ pkgs.virtiofsd ];
|
# Enable common container config files in /etc/containers
|
||||||
ovmf.enable = true;
|
enable = true;
|
||||||
|
};
|
||||||
|
libvirtd = {
|
||||||
|
enable = true;
|
||||||
|
qemu = {
|
||||||
|
vhostUserPackages = [ pkgs.virtiofsd ];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
# remember to add the necessary users to the podman group
|
||||||
|
podman = {
|
||||||
|
enable = if (config.virtualisation.containerManagement == "podman") then true else false;
|
||||||
|
dockerSocket.enable = true;
|
||||||
|
dockerCompat = true;
|
||||||
|
defaultNetwork.settings.dns_enabled = true;
|
||||||
|
};
|
||||||
|
# remember to add the necessary users to the docker group
|
||||||
|
docker = {
|
||||||
|
enable = if (config.virtualisation.containerManagement == "docker") then true else false;
|
||||||
|
storageDriver = "btrfs";
|
||||||
|
};
|
||||||
|
waydroid = {
|
||||||
|
enable = true;
|
||||||
|
package = pkgs.waydroid-nftables;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
# podman = {
|
programs.virt-manager.enable = true;
|
||||||
# enable = true;
|
|
||||||
# dockerSocket.enable = true;
|
environment.systemPackages = with pkgs;[
|
||||||
# dockerCompat = true;
|
waydroid-helper
|
||||||
# defaultNetwork.settings.dns_enabled = true;
|
] ++ optionals (config.virtualisation.containerManagement == "podman") [
|
||||||
# };
|
docker-compose
|
||||||
# remember to add the necessary users to the docker group
|
# podman-compose
|
||||||
docker = {
|
podman-tui
|
||||||
enable = true;
|
podman-desktop
|
||||||
storageDriver = "btrfs";
|
] ++ optionals (config.virtualisation.containerManagement == "docker") [
|
||||||
};
|
lazydocker
|
||||||
# waydroid = {
|
];
|
||||||
# enable = true;
|
|
||||||
# };
|
|
||||||
};
|
};
|
||||||
programs.virt-manager.enable = true;
|
|
||||||
# environment.systemPackages = with pkgs;[
|
|
||||||
# docker-compose
|
|
||||||
# # podman-compose
|
|
||||||
# podman-tui
|
|
||||||
# podman-desktop
|
|
||||||
# ];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,10 +1,10 @@
|
|||||||
{
|
{
|
||||||
inputs = {
|
inputs = {
|
||||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05?shallow=1";
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11?shallow=1";
|
||||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable?shallow=1"; # use by inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".[package name]
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable?shallow=1"; # use by inputs.nixpkgs-unstable.legacyPackages."${pkgs.stdenv.hostPlatform.system}".[package name]
|
||||||
|
|
||||||
home-manager = {
|
home-manager = {
|
||||||
url = "github:nix-community/home-manager/release-25.05?shallow=1";
|
url = "github:nix-community/home-manager/release-25.11?shallow=1";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -13,25 +13,20 @@
|
|||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nixos-hardware.url = "github:NixOS/nixos-hardware/master?shallow=1";
|
|
||||||
disko = {
|
|
||||||
url = "github:nix-community/disko?shallow=1";
|
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
|
||||||
};
|
|
||||||
|
|
||||||
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions?shallow=1";
|
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions?shallow=1";
|
||||||
|
|
||||||
system-manager = {
|
system-manager = {
|
||||||
url = "github:numtide/system-manager?shallow=1";
|
url = "github:numtide/system-manager?shallow=1";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
|
|
||||||
nix-system-graphics = {
|
nix-system-graphics = {
|
||||||
url = "github:soupglasses/nix-system-graphics?shallow=1";
|
url = "github:soupglasses/nix-system-graphics?shallow=1";
|
||||||
inputs.nixpkgs.follows = "nixpkgs";
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
outputs = { self, nixpkgs, nixos-hardware, home-manager, system-manager, nix-system-graphics, nix-index-database, ... }@inputs:
|
outputs = { nixpkgs, home-manager, system-manager, nix-system-graphics, nix-index-database, ... }@inputs:
|
||||||
let
|
let
|
||||||
system = "x86_64-linux";
|
system = "x86_64-linux";
|
||||||
pkgs = import nixpkgs {
|
pkgs = import nixpkgs {
|
||||||
@@ -40,25 +35,12 @@
|
|||||||
};
|
};
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
nixosConfigurations.tuxedo = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
./devices/tuxedo/configuration.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
nixosConfigurations.starlite = nixpkgs.lib.nixosSystem {
|
|
||||||
specialArgs = { inherit inputs; };
|
|
||||||
modules = [
|
|
||||||
nixos-hardware.nixosModules.starlabs-starlite-i5
|
|
||||||
./devices/starlite/configuration.nix
|
|
||||||
];
|
|
||||||
};
|
|
||||||
packages.${system}.homeConfigurations.deck = home-manager.lib.homeManagerConfiguration {
|
packages.${system}.homeConfigurations.deck = home-manager.lib.homeManagerConfiguration {
|
||||||
inherit pkgs;
|
inherit pkgs;
|
||||||
extraSpecialArgs = { inherit inputs; };
|
extraSpecialArgs = { inherit inputs; };
|
||||||
modules = [
|
modules = [
|
||||||
nix-index-database.homeModules.nix-index
|
nix-index-database.homeModules.nix-index
|
||||||
./devices/deck/home.nix
|
./home.nix
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
systemConfigs.deck = system-manager.lib.makeSystemConfig {
|
systemConfigs.deck = system-manager.lib.makeSystemConfig {
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
{ pkgs, ... }:
|
{ pkgs, ... }:
|
||||||
|
|
||||||
let
|
let
|
||||||
homeUpdateLocation = "/home/deck/Projects/nixos#deck";
|
homeUpdateLocation = "/home/deck/Projects/nixos/devices/deck#deck";
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -11,7 +11,7 @@ in
|
|||||||
];
|
];
|
||||||
|
|
||||||
terminal.homeUpdateLocation = homeUpdateLocation;
|
terminal.homeUpdateLocation = homeUpdateLocation;
|
||||||
terminal.flakeUpdateLocation = "/home/deck/Projects/nixos";
|
terminal.flakeUpdateLocation = "/home/deck/Projects/nixos/devices/deck";
|
||||||
|
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
|
|||||||
114
flake.lock → devices/starlite/flake.lock
generated
114
flake.lock → devices/starlite/flake.lock
generated
@@ -7,11 +7,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1758287904,
|
"lastModified": 1760701190,
|
||||||
"narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=",
|
"narHash": "sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "disko",
|
"repo": "disko",
|
||||||
"rev": "67ff9807dd148e704baadbd4fd783b54282ca627",
|
"rev": "3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -20,24 +20,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils": {
|
|
||||||
"inputs": {
|
|
||||||
"systems": "systems"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1731533236,
|
|
||||||
"narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -66,11 +48,11 @@
|
|||||||
]
|
]
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759637156,
|
"lastModified": 1760846226,
|
||||||
"narHash": "sha256-8NI1SqntLfKl6Q0Luemc3aIboezSJElofUrqipF5g78=",
|
"narHash": "sha256-xmU8kAsRprJiTGBTaGrwmjBP3AMA9ltlrxHKFuy5JWc=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-index-database",
|
"repo": "nix-index-database",
|
||||||
"rev": "0ca69684091aa3a6b1fe994c4afeff305b15e915",
|
"rev": "5024e1901239a76b7bf94a4cd27f3507e639d49e",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -79,37 +61,16 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nix-system-graphics": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1737457219,
|
|
||||||
"narHash": "sha256-nX9dxoATDCSQgWw/iv6BngXDJEyHVYYEvHEVQ7Ig3fI=",
|
|
||||||
"owner": "soupglasses",
|
|
||||||
"repo": "nix-system-graphics",
|
|
||||||
"rev": "9c875e0c56cf2eb272b9102a4f3e24e4e31629fd",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "soupglasses",
|
|
||||||
"repo": "nix-system-graphics",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nix-vscode-extensions": {
|
"nix-vscode-extensions": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"flake-utils": "flake-utils",
|
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
},
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760071578,
|
"lastModified": 1761098495,
|
||||||
"narHash": "sha256-MZUsqax6PoXPDzhpLyduHoPY4CYYrzL97uKbsx/iGPE=",
|
"narHash": "sha256-aE2Vp0Q/Ra95sHk/YgQI6z9PvqPttgcIVUk3uSOWj9g=",
|
||||||
"owner": "nix-community",
|
"owner": "nix-community",
|
||||||
"repo": "nix-vscode-extensions",
|
"repo": "nix-vscode-extensions",
|
||||||
"rev": "65365fe8c09b6c1b6bba1885a126723815376b1b",
|
"rev": "bd4690e402591e99a091dcd49663d3d6c9bf0ada",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -120,11 +81,11 @@
|
|||||||
},
|
},
|
||||||
"nixos-hardware": {
|
"nixos-hardware": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760106635,
|
"lastModified": 1760958188,
|
||||||
"narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=",
|
"narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=",
|
||||||
"owner": "NixOS",
|
"owner": "NixOS",
|
||||||
"repo": "nixos-hardware",
|
"repo": "nixos-hardware",
|
||||||
"rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903",
|
"rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -152,11 +113,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs-unstable": {
|
"nixpkgs-unstable": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1760038930,
|
"lastModified": 1760878510,
|
||||||
"narHash": "sha256-Oncbh0UmHjSlxO7ErQDM3KM0A5/Znfofj2BSzlHLeVw=",
|
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "0b4defa2584313f3b781240b29d61f6f9f7e0df3",
|
"rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -168,11 +129,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759994382,
|
"lastModified": 1760862643,
|
||||||
"narHash": "sha256-wSK+3UkalDZRVHGCRikZ//CyZUJWDJkBDTQX1+G77Ow=",
|
"narHash": "sha256-PXwG0TM7Ek87DNx4LbGWuD93PbFeKAJs4FfALtp7Wo0=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "5da4a26309e796daa7ffca72df93dbe53b8164c7",
|
"rev": "33c6dca0c0cb31d6addcd34e90a63ad61826b28c",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -187,47 +148,10 @@
|
|||||||
"disko": "disko",
|
"disko": "disko",
|
||||||
"home-manager": "home-manager",
|
"home-manager": "home-manager",
|
||||||
"nix-index-database": "nix-index-database",
|
"nix-index-database": "nix-index-database",
|
||||||
"nix-system-graphics": "nix-system-graphics",
|
|
||||||
"nix-vscode-extensions": "nix-vscode-extensions",
|
"nix-vscode-extensions": "nix-vscode-extensions",
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_2",
|
"nixpkgs": "nixpkgs_2",
|
||||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
"system-manager": "system-manager"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"system-manager": {
|
|
||||||
"inputs": {
|
|
||||||
"nixpkgs": [
|
|
||||||
"nixpkgs"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1756281415,
|
|
||||||
"narHash": "sha256-CjpoVwpJJ+DOZilPrDpZ5S3V+B1Y0calaHxTp2xMvGs=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "system-manager",
|
|
||||||
"rev": "e271eedac9a24678ca6cfc61677837422bf474e0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "system-manager",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"systems": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1681028828,
|
|
||||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-systems",
|
|
||||||
"repo": "default",
|
|
||||||
"type": "github"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
35
devices/starlite/flake.nix
Normal file
35
devices/starlite/flake.nix
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11?shallow=1";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable?shallow=1"; # use by inputs.nixpkgs-unstable.legacyPackages."${pkgs.stdenv.hostPlatform.system}".[package name]
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/release-25.11?shallow=1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix-index-database = {
|
||||||
|
url = "github:nix-community/nix-index-database?shallow=1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nixos-hardware.url = "github:NixOS/nixos-hardware/master?shallow=1";
|
||||||
|
disko = {
|
||||||
|
url = "github:nix-community/disko?shallow=1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions?shallow=1";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { nixpkgs, nixos-hardware, ... }@inputs:
|
||||||
|
{
|
||||||
|
nixosConfigurations.starlite = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
nixos-hardware.nixosModules.starlabs-starlite-i5
|
||||||
|
./configuration.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -6,8 +6,8 @@
|
|||||||
../../home-manager/development/vscode.nix
|
../../home-manager/development/vscode.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#starlite";
|
terminal.nixUpdateLocation = "/home/worble/Projects/nixos/devices/starlite#starlite";
|
||||||
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos";
|
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos/devices/starlite";
|
||||||
firefox.tablet = true;
|
firefox.tablet = true;
|
||||||
|
|
||||||
home.username = "worble";
|
home.username = "worble";
|
||||||
|
|||||||
@@ -17,26 +17,25 @@
|
|||||||
../../configuration/modules/virtualisation.nix
|
../../configuration/modules/virtualisation.nix
|
||||||
../../configuration/modules/gaming.nix
|
../../configuration/modules/gaming.nix
|
||||||
../../configuration/modules/kde.nix
|
../../configuration/modules/kde.nix
|
||||||
|
../../configuration/modules/i18n.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
networking.hostName = "tuxedo"; # Define your hostname.
|
networking.hostName = "tuxedo"; # Define your hostname.
|
||||||
|
|
||||||
# fairly sure this isnt needed anymore
|
|
||||||
# boot.extraModprobeConfig = ''
|
|
||||||
# options iwlwifi 11n_disable=8 power_save=0
|
|
||||||
# options iwlmvm power_scheme=1
|
|
||||||
# '';
|
|
||||||
|
|
||||||
# TODO remove ntsync if this becomes stable
|
|
||||||
# options iwlmvm power_scheme=1 https://wireless.docs.kernel.org/en/latest/en/users/drivers/iwlwifi.html#features
|
# options iwlmvm power_scheme=1 https://wireless.docs.kernel.org/en/latest/en/users/drivers/iwlwifi.html#features
|
||||||
# options iwlwifi 11n_disable=4 https://wiki.gentoo.org/wiki/Iwlwifi#Network_crashes_under_heavy_load
|
# options iwlwifi 11n_disable=4 https://wiki.gentoo.org/wiki/Iwlwifi#Network_crashes_under_heavy_load
|
||||||
boot.extraModprobeConfig = ''
|
boot.extraModprobeConfig = ''
|
||||||
ntsync
|
|
||||||
options iwlmvm power_scheme=1
|
options iwlmvm power_scheme=1
|
||||||
options iwlwifi 11n_disable=4
|
options iwlwifi 11n_disable=8 power_save=0
|
||||||
'';
|
'';
|
||||||
|
|
||||||
services.hardware.openrgb.enable = true;
|
boot.kernelModules = [
|
||||||
|
"ntsync"
|
||||||
|
];
|
||||||
|
|
||||||
|
# services.hardware.openrgb.enable = true;
|
||||||
|
|
||||||
|
virtualisation.containerManagement = "docker";
|
||||||
|
|
||||||
fileSystems."/mnt/HDD2" = {
|
fileSystems."/mnt/HDD2" = {
|
||||||
fsType = "ext4";
|
fsType = "ext4";
|
||||||
@@ -58,7 +57,7 @@
|
|||||||
dumpcap.enable = true;
|
dumpcap.enable = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
programs.gpu-screen-recorder.enable = true; # For promptless recording on both CLI and GUI
|
# programs.gpu-screen-recorder.enable = true; # For promptless recording on both CLI and GUI
|
||||||
|
|
||||||
# programs.obs-studio = {
|
# programs.obs-studio = {
|
||||||
# enable = true;
|
# enable = true;
|
||||||
@@ -68,9 +67,6 @@
|
|||||||
environment.systemPackages = with pkgs;[
|
environment.systemPackages = with pkgs;[
|
||||||
distrobox
|
distrobox
|
||||||
gpu-screen-recorder-gtk
|
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’.
|
||||||
@@ -84,6 +80,7 @@
|
|||||||
"podman"
|
"podman"
|
||||||
"cdrom"
|
"cdrom"
|
||||||
"wireshark"
|
"wireshark"
|
||||||
|
"kvm" # for android studio
|
||||||
]; # Enable ‘sudo’ for the user.
|
]; # Enable ‘sudo’ for the user.
|
||||||
linger = true;
|
linger = true;
|
||||||
};
|
};
|
||||||
|
|||||||
143
devices/tuxedo/flake.lock
generated
Normal file
143
devices/tuxedo/flake.lock
generated
Normal file
@@ -0,0 +1,143 @@
|
|||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"disko": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1764110879,
|
||||||
|
"narHash": "sha256-xanUzIb0tf3kJ+PoOFmXEXV1jM3PjkDT/TQ5DYeNYRc=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"rev": "aecba248f9a7d68c5d1ed15de2d1c8a4c994a3c5",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "disko",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"home-manager": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1764177491,
|
||||||
|
"narHash": "sha256-dhX2abFWxeXab3Aad4Pg1xGtn9W84/qetNXfmYUwktw=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"rev": "2217780c39169a9c77915200137550c2ef0fa974",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"ref": "release-25.11",
|
||||||
|
"repo": "home-manager",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-index-database": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": [
|
||||||
|
"nixpkgs"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763870992,
|
||||||
|
"narHash": "sha256-NPyc76Wxmv/vAsXJ8F+/8fXECHYcv2YGSqdiSHp/F/A=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"rev": "d7423982c7a26586aa237d130b14c8b302c7a367",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-index-database",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nix-vscode-extensions": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
},
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1764208554,
|
||||||
|
"narHash": "sha256-9cHI5OyIcTuaWYrgq3ng7W0q+wgX8II2fkqCHNot5jY=",
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-vscode-extensions",
|
||||||
|
"rev": "8cd52edf9dea91d1610c50b494dc20636b61b862",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-community",
|
||||||
|
"repo": "nix-vscode-extensions",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1759770925,
|
||||||
|
"narHash": "sha256-CZwkCtzTNclqlhuwDsVtGoRumTpqCUK0xSnFIMgd8ls=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "674c2b09c59a220204350ced584cadaacee30038",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "674c2b09c59a220204350ced584cadaacee30038",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs-unstable": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1763966396,
|
||||||
|
"narHash": "sha256-6eeL1YPcY1MV3DDStIDIdy/zZCDKgHdkCmsrLJFiZf0=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "5ae3b07d8d6527c42f17c876e404993199144b6a",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nixpkgs_2": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1764020296,
|
||||||
|
"narHash": "sha256-6zddwDs2n+n01l+1TG6PlyokDdXzu/oBmEejcH5L5+A=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "a320ce8e6e2cc6b4397eef214d202a50a4583829",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-25.11",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"disko": "disko",
|
||||||
|
"home-manager": "home-manager",
|
||||||
|
"nix-index-database": "nix-index-database",
|
||||||
|
"nix-vscode-extensions": "nix-vscode-extensions",
|
||||||
|
"nixpkgs": "nixpkgs_2",
|
||||||
|
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
33
devices/tuxedo/flake.nix
Normal file
33
devices/tuxedo/flake.nix
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.11?shallow=1";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable?shallow=1"; # use by inputs.nixpkgs-unstable.legacyPackages."${pkgs.stdenv.hostPlatform.system}".[package name]
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/release-25.11?shallow=1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix-index-database = {
|
||||||
|
url = "github:nix-community/nix-index-database?shallow=1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
disko = {
|
||||||
|
url = "github:nix-community/disko?shallow=1";
|
||||||
|
inputs.nixpkgs.follows = "nixpkgs";
|
||||||
|
};
|
||||||
|
|
||||||
|
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions?shallow=1";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { nixpkgs, ... }@inputs:
|
||||||
|
{
|
||||||
|
nixosConfigurations.tuxedo = nixpkgs.lib.nixosSystem {
|
||||||
|
specialArgs = { inherit inputs; };
|
||||||
|
modules = [
|
||||||
|
./configuration.nix
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, config, ... }:
|
{ pkgs, config, inputs, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -8,9 +8,10 @@
|
|||||||
../../home-manager/streamlink.nix
|
../../home-manager/streamlink.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
|
terminal.nixUpdateLocation = "/home/worble/Projects/nixos/devices/tuxedo#tuxedo";
|
||||||
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos";
|
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos/devices/tuxedo";
|
||||||
helix.fullInstall = true;
|
helix.fullInstall = true;
|
||||||
|
mpv.high-quality = true;
|
||||||
|
|
||||||
home.username = "worble";
|
home.username = "worble";
|
||||||
home.homeDirectory = "/home/worble";
|
home.homeDirectory = "/home/worble";
|
||||||
@@ -33,29 +34,23 @@
|
|||||||
teamspeak6-client
|
teamspeak6-client
|
||||||
|
|
||||||
# media
|
# media
|
||||||
jellyfin-media-player
|
# TODO: disabled due to qt5-web-engine vulnerable https://github.com/NixOS/nixpkgs/pull/435067
|
||||||
|
# jellyfin-media-player
|
||||||
haruna
|
haruna
|
||||||
|
|
||||||
# misc
|
# misc
|
||||||
electrum
|
# TODO: uncomment when ecdsa is updated
|
||||||
syncthing
|
# https://github.com/NixOS/nixpkgs/pull/456881
|
||||||
|
# electrum
|
||||||
dbeaver-bin
|
dbeaver-bin
|
||||||
ruffle
|
ruffle
|
||||||
popsicle
|
popsicle
|
||||||
|
mkvtoolnix
|
||||||
|
|
||||||
# for headset tune
|
# for headset tune
|
||||||
headsetcontrol
|
headsetcontrol
|
||||||
];
|
];
|
||||||
|
|
||||||
home.file = {
|
|
||||||
# shaders for mpv
|
|
||||||
".config/mpv/shaders".source = pkgs.fetchzip {
|
|
||||||
url = "https://github.com/bloc97/Anime4K/releases/download/v4.0.1/Anime4K_v4.0.zip";
|
|
||||||
sha256 = "sha256-9B6U+KEVlhUIIOrDauIN3aVUjZ/gQHjFArS4uf/BpaM=";
|
|
||||||
stripRoot = false;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
# Let Home Manager install and manage itself.
|
# Let Home Manager install and manage itself.
|
||||||
programs = {
|
programs = {
|
||||||
firefox = {
|
firefox = {
|
||||||
@@ -74,37 +69,17 @@
|
|||||||
|
|
||||||
mpv = {
|
mpv = {
|
||||||
config = {
|
config = {
|
||||||
profile = "gpu-hq";
|
|
||||||
vo = "gpu-next";
|
|
||||||
gpu-api = "auto";
|
|
||||||
gpu-context = "auto";
|
|
||||||
hwdec = "auto";
|
|
||||||
screenshot-directory = "/mnt/HDD2/Pictures/";
|
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 = ''
|
|
||||||
# Optimized shaders for higher-end GPU:
|
|
||||||
CTRL+1 no-osd change-list glsl-shaders set "~~/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"; show-text "Anime4K: Mode A (HQ)"
|
|
||||||
CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_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"; show-text "Anime4K: Mode B (HQ)"
|
|
||||||
CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
|
|
||||||
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
|
|
||||||
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
|
|
||||||
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
|
|
||||||
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
|
|
||||||
'';
|
|
||||||
};
|
};
|
||||||
|
|
||||||
mangohud = {
|
topgrade = {
|
||||||
enable = true;
|
|
||||||
settings = {
|
settings = {
|
||||||
preset = 1;
|
misc = {
|
||||||
|
ignore_failures = [ "containers" ];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
kodi = {
|
|
||||||
enable = true;
|
|
||||||
package = pkgs.kodi.withPackages (exts: [ exts.pvr-iptvsimple ]);
|
|
||||||
};
|
|
||||||
};
|
};
|
||||||
|
|
||||||
systemd.user = {
|
systemd.user = {
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
home-manager switch --flake "/home/$(whoami)/Projects/nixos#$(whoami)"
|
home-manager switch --flake "$HOME/Projects/nixos/devices/$(whoami)#$(whoami)"
|
||||||
|
|||||||
@@ -1,30 +1,72 @@
|
|||||||
{ pkgs, lib, ... }:
|
{ pkgs, lib, config, ... }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
{
|
{
|
||||||
programs = {
|
options.mpv = {
|
||||||
mpv = {
|
high-quality = mkOption {
|
||||||
enable = true;
|
type = types.bool;
|
||||||
package = (
|
default = false;
|
||||||
pkgs.mpv-unwrapped.wrapper {
|
};
|
||||||
scripts = with pkgs.mpvScripts; [
|
};
|
||||||
uosc
|
|
||||||
sponsorblock
|
|
||||||
];
|
|
||||||
|
|
||||||
mpv = pkgs.mpv-unwrapped;
|
config = {
|
||||||
}
|
home.file = {
|
||||||
);
|
".config/mpv/shaders" = {
|
||||||
config = {
|
enable = config.mpv.high-quality;
|
||||||
screenshot-directory = lib.mkDefault "~/Pictures/";
|
source = pkgs.fetchzip {
|
||||||
screenshot-template = lib.mkDefault "%F/%F_snapshot_%P";
|
url = "https://github.com/bloc97/Anime4K/releases/download/v4.0.1/Anime4K_v4.0.zip";
|
||||||
sub-ass-use-video-data = lib.mkDefault "aspect-ratio";
|
sha256 = "sha256-9B6U+KEVlhUIIOrDauIN3aVUjZ/gQHjFArS4uf/BpaM=";
|
||||||
};
|
stripRoot = false;
|
||||||
|
|
||||||
scriptOpts = {
|
|
||||||
uosc = {
|
|
||||||
time_precision = 3;
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
programs = {
|
||||||
|
mpv = {
|
||||||
|
enable = true;
|
||||||
|
package = (
|
||||||
|
pkgs.mpv-unwrapped.wrapper {
|
||||||
|
scripts = with pkgs.mpvScripts; [
|
||||||
|
uosc
|
||||||
|
sponsorblock
|
||||||
|
];
|
||||||
|
|
||||||
|
mpv = pkgs.mpv-unwrapped;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
config = mkMerge [{
|
||||||
|
screenshot-directory = lib.mkDefault "~/Pictures/";
|
||||||
|
screenshot-template = lib.mkDefault "%F/%F_snapshot_%P";
|
||||||
|
sub-ass-use-video-data = lib.mkDefault "aspect-ratio";
|
||||||
|
}
|
||||||
|
(mkIf config.mpv.high-quality
|
||||||
|
{
|
||||||
|
profile = lib.mkDefault "gpu-hq";
|
||||||
|
vo = lib.mkDefault "gpu-next";
|
||||||
|
gpu-api = lib.mkDefault "auto";
|
||||||
|
gpu-context = lib.mkDefault "auto";
|
||||||
|
hwdec = lib.mkDefault "auto";
|
||||||
|
glsl-shaders = lib.mkDefault "~~/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";
|
||||||
|
})];
|
||||||
|
|
||||||
|
scriptOpts = {
|
||||||
|
uosc = {
|
||||||
|
time_precision = lib.mkDefault 3;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
extraInput =
|
||||||
|
if config.mpv.high-quality then ''
|
||||||
|
# Optimized shaders for higher-end GPU:
|
||||||
|
CTRL+1 no-osd change-list glsl-shaders set "~~/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"; show-text "Anime4K: Mode A (HQ)"
|
||||||
|
CTRL+2 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_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"; show-text "Anime4K: Mode B (HQ)"
|
||||||
|
CTRL+3 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C (HQ)"
|
||||||
|
CTRL+4 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode A+A (HQ)"
|
||||||
|
CTRL+5 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_VL.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_Soft_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode B+B (HQ)"
|
||||||
|
CTRL+6 no-osd change-list glsl-shaders set "~~/shaders/Anime4K_Clamp_Highlights.glsl:~~/shaders/Anime4K_Upscale_Denoise_CNN_x2_VL.glsl:~~/shaders/Anime4K_AutoDownscalePre_x2.glsl:~~/shaders/Anime4K_AutoDownscalePre_x4.glsl:~~/shaders/Anime4K_Restore_CNN_M.glsl:~~/shaders/Anime4K_Upscale_CNN_x2_M.glsl"; show-text "Anime4K: Mode C+A (HQ)"
|
||||||
|
CTRL+0 no-osd change-list glsl-shaders clr ""; show-text "GLSL shaders cleared"
|
||||||
|
'' else "";
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,10 +51,14 @@ with lib;
|
|||||||
enableFishIntegration = true;
|
enableFishIntegration = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
delta = {
|
||||||
|
enable = true;
|
||||||
|
enableGitIntegration = true;
|
||||||
|
};
|
||||||
|
|
||||||
git = {
|
git = {
|
||||||
enable = true;
|
enable = true;
|
||||||
delta.enable = true;
|
settings = {
|
||||||
extraConfig = {
|
|
||||||
credential = {
|
credential = {
|
||||||
helper = [ "cache --timeout 21600" "${pkgs.git-credential-manager}/bin/git-credential-manager" "${pkgs.git-credential-oauth}/bin/git-credential-oauth" ];
|
helper = [ "cache --timeout 21600" "${pkgs.git-credential-manager}/bin/git-credential-manager" "${pkgs.git-credential-oauth}/bin/git-credential-oauth" ];
|
||||||
credentialStore = "secretservice";
|
credentialStore = "secretservice";
|
||||||
@@ -174,6 +178,24 @@ with lib;
|
|||||||
settings = mkMerge [{
|
settings = mkMerge [{
|
||||||
misc = {
|
misc = {
|
||||||
assume_yes = true;
|
assume_yes = true;
|
||||||
|
disable = [
|
||||||
|
"android_studio"
|
||||||
|
"jetbrains_aqua"
|
||||||
|
"jetbrains_clion"
|
||||||
|
"jetbrains_datagrip"
|
||||||
|
"jetbrains_dataspell"
|
||||||
|
"jetbrains_gateway"
|
||||||
|
"jetbrains_goland"
|
||||||
|
"jetbrains_idea"
|
||||||
|
"jetbrains_mps"
|
||||||
|
"jetbrains_phpstorm"
|
||||||
|
"jetbrains_pycharm"
|
||||||
|
"jetbrains_rider"
|
||||||
|
"jetbrains_rubymine"
|
||||||
|
"jetbrains_rustrover"
|
||||||
|
"jetbrains_toolbox"
|
||||||
|
"jetbrains_webstorm"
|
||||||
|
];
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
(mkIf (nixUpdateLocation != null) {
|
(mkIf (nixUpdateLocation != null) {
|
||||||
@@ -188,11 +210,7 @@ with lib;
|
|||||||
})
|
})
|
||||||
(mkIf (flakeUpdateLocation != null) {
|
(mkIf (flakeUpdateLocation != null) {
|
||||||
pre_commands = {
|
pre_commands = {
|
||||||
nix-flake-update = "${(pkgs.writeShellScriptBin "nix-flake-update" ''
|
nix-flake-update = "${(pkgs.writeShellScriptBin "nix-flake-update" "sudo nix flake update --flake ${flakeUpdateLocation}")}/bin/nix-flake-update";
|
||||||
git -C ${flakeUpdateLocation} pull --quiet
|
|
||||||
sudo nix flake update --flake ${flakeUpdateLocation}
|
|
||||||
git -C ${flakeUpdateLocation} diff-index --quiet HEAD flake.lock || git -C ${flakeUpdateLocation} commit --quiet flake.lock -m "update flake.lock"
|
|
||||||
'')}/bin/nix-flake-update";
|
|
||||||
};
|
};
|
||||||
})];
|
})];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{ pkgs, inputs, lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
@@ -9,14 +9,17 @@
|
|||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
# general
|
# general
|
||||||
thunderbird
|
thunderbird
|
||||||
keepassxc
|
|
||||||
qbittorrent
|
qbittorrent
|
||||||
libreoffice-qt
|
libreoffice-qt
|
||||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".joplin-desktop
|
# 25.11 Can move to stable when https://github.com/NixOS/nixpkgs/pull/460058 gets backported
|
||||||
|
joplin-desktop
|
||||||
|
|
||||||
# comms
|
# comms
|
||||||
teamspeak_client
|
# TODO: disabled due to qt5-web-engine vulnerable https://github.com/NixOS/nixpkgs/pull/435067
|
||||||
|
# teamspeak3
|
||||||
|
teamspeak6-client
|
||||||
discord
|
discord
|
||||||
|
vesktop
|
||||||
|
|
||||||
# media
|
# media
|
||||||
strawberry
|
strawberry
|
||||||
@@ -32,6 +35,12 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xdg.configFile."capacitor/sysconfig.json".text = lib.generators.toJSON { } {
|
||||||
|
machine = "00000000-0000-0000-0000-000000000000";
|
||||||
|
signup = false;
|
||||||
|
telemetry = false;
|
||||||
|
};
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
NIXOS_OZONE_WL = "1";
|
NIXOS_OZONE_WL = "1";
|
||||||
};
|
};
|
||||||
@@ -49,5 +58,11 @@
|
|||||||
enable = true;
|
enable = true;
|
||||||
package = pkgs.brave;
|
package = pkgs.brave;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
keepassxc = {
|
||||||
|
enable = true;
|
||||||
|
# add in 25.12?
|
||||||
|
# autostart = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
36
home-manager/development/android.nix
Normal file
36
home-manager/development/android.nix
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
# { pkgs, ... }:
|
||||||
|
|
||||||
|
# let
|
||||||
|
# androidEnv = pkgs.androidenv.override { licenseAccepted = true; };
|
||||||
|
# androidComp = (
|
||||||
|
# androidEnv.composeAndroidPackages {
|
||||||
|
# toolsVersion = null;
|
||||||
|
# includeEmulator = true;
|
||||||
|
# includeNDK = true;
|
||||||
|
# platformVersions = [
|
||||||
|
# "latest"
|
||||||
|
# "25"
|
||||||
|
# ];
|
||||||
|
# includeSystemImages = true;
|
||||||
|
# systemImageTypes = [
|
||||||
|
# "default"
|
||||||
|
# ];
|
||||||
|
# abiVersions = [
|
||||||
|
# "x86_64"
|
||||||
|
# "armeabi-v7a"
|
||||||
|
# "arm64-v8a"
|
||||||
|
# ];
|
||||||
|
# }
|
||||||
|
# );
|
||||||
|
# android-studio = (pkgs.android-studio.withSdk androidComp.androidsdk);
|
||||||
|
# in
|
||||||
|
# {
|
||||||
|
# home.sessionVariables = {
|
||||||
|
# ANDROID_HOME = "${androidComp.androidsdk}/libexec/android-sdk";
|
||||||
|
# ANDROID_SDK_ROOT = "${androidComp.androidsdk}/libexec/android-sdk";
|
||||||
|
# ANDROID_NDK_ROOT = "${androidComp.androidsdk}/libexec/android-sdk/ndk-bundle";
|
||||||
|
# };
|
||||||
|
# home.packages = [
|
||||||
|
# pkgs.android-studio
|
||||||
|
# ];
|
||||||
|
# }
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
{
|
{
|
||||||
imports = [
|
imports = [
|
||||||
|
# ./android.nix
|
||||||
./dotnet.nix
|
./dotnet.nix
|
||||||
./games.nix
|
./games.nix
|
||||||
./helix.nix
|
./helix.nix
|
||||||
|
|||||||
@@ -3,6 +3,26 @@
|
|||||||
let
|
let
|
||||||
openvsx = inputs.nix-vscode-extensions.extensions.x86_64-linux.open-vsx;
|
openvsx = inputs.nix-vscode-extensions.extensions.x86_64-linux.open-vsx;
|
||||||
vscode-marketplace = inputs.nix-vscode-extensions.extensions.x86_64-linux.vscode-marketplace;
|
vscode-marketplace = inputs.nix-vscode-extensions.extensions.x86_64-linux.vscode-marketplace;
|
||||||
|
resharper-code-version = "0.0.15";
|
||||||
|
|
||||||
|
resharper-code = (pkgs.vscode-utils.buildVscodeMarketplaceExtension {
|
||||||
|
mktplcRef = {
|
||||||
|
name = "resharper-code";
|
||||||
|
version = resharper-code-version;
|
||||||
|
publisher = "jetbrains";
|
||||||
|
};
|
||||||
|
vsix = builtins.fetchurl {
|
||||||
|
name = "jetbrains.resharper-code.zip";
|
||||||
|
url = "https://download.jetbrains.com/product?code=VSCRS&latest&distribution=linuxX64&type=eap&version=${resharper-code-version}";
|
||||||
|
sha256 = "sha256:eef138c4fdd035031577f4c483c2155c4dd5ce91cfd1b9a2489c138aeb6cb99e";
|
||||||
|
};
|
||||||
|
}).overrideAttrs (old: {
|
||||||
|
nativeBuildInputs = old.nativeBuildInputs ++ [ pkgs.makeBinaryWrapper ];
|
||||||
|
postFixup = ''
|
||||||
|
wrapProgram $out/share/vscode/extensions/jetbrains.resharper-code/resharper/linux-x64/JetBrains.VsCode.Backend \
|
||||||
|
--prefix LD_LIBRARY_PATH : ${pkgs.dotnet-sdk.icu}/lib
|
||||||
|
'';
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
@@ -17,7 +37,9 @@ in
|
|||||||
profiles.default = {
|
profiles.default = {
|
||||||
enableUpdateCheck = false;
|
enableUpdateCheck = false;
|
||||||
enableExtensionUpdateCheck = false;
|
enableExtensionUpdateCheck = false;
|
||||||
extensions = (with openvsx;[
|
extensions = [
|
||||||
|
resharper-code # Requires DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
|
||||||
|
] ++ (with openvsx;[
|
||||||
biomejs.biome
|
biomejs.biome
|
||||||
mkhl.direnv
|
mkhl.direnv
|
||||||
dracula-theme.theme-dracula
|
dracula-theme.theme-dracula
|
||||||
|
|||||||
@@ -1,66 +1,104 @@
|
|||||||
{ tablet }:
|
{ tablet ? false }:
|
||||||
{
|
{
|
||||||
settings = {
|
settings = {
|
||||||
# data privacy
|
# data privacy
|
||||||
"browser.discovery.enabled" = false;
|
"browser.discovery.enabled" = false;
|
||||||
"dom.security.https_only_mode" = true;
|
"dom.security.https_only_mode" = true;
|
||||||
|
|
||||||
# no autofill
|
# no autofill
|
||||||
"extensions.formautofill.addresses.enabled" = false;
|
"extensions.formautofill.addresses.enabled" = false;
|
||||||
"extensions.formautofill.creditCards.enabled" = false;
|
"extensions.formautofill.creditCards.enabled" = false;
|
||||||
|
|
||||||
# stop fonts
|
# stop fonts
|
||||||
"browser.display.use_document_fonts" = 0;
|
"browser.display.use_document_fonts" = 0;
|
||||||
|
|
||||||
# dont show about:config warning
|
# dont show about:config warning
|
||||||
"browser.aboutConfig.showWarning" = false;
|
"browser.aboutConfig.showWarning" = false;
|
||||||
|
|
||||||
# dont offer to save passwords
|
# dont offer to save passwords
|
||||||
"signon.rememberSignons" = false;
|
"signon.rememberSignons" = false;
|
||||||
|
|
||||||
# home page
|
# home page
|
||||||
"browser.startup.homepage" = "about:blank";
|
"browser.startup.homepage" = "about:blank";
|
||||||
|
|
||||||
# blank new tab
|
# blank new tab
|
||||||
"browser.newtabpage.enabled" = false;
|
"browser.newtabpage.enabled" = false;
|
||||||
|
|
||||||
# compact density
|
# compact density
|
||||||
"browser.uidensity" = if tablet then 2 else 1;
|
"browser.uidensity" = if tablet then 2 else 1;
|
||||||
# dont draw tabs in titlebar
|
|
||||||
"browser.tabs.drawInTitlebar" = false;
|
|
||||||
# autoscroll middleclick
|
|
||||||
"general.autoScroll" = true;
|
|
||||||
# dont paste on middlemouse
|
|
||||||
"middlemouse.paste" = false;
|
|
||||||
# userChrome
|
# userChrome
|
||||||
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
"toolkit.legacyUserProfileCustomizations.stylesheets" = true;
|
||||||
|
|
||||||
|
# dont draw tabs in titlebar
|
||||||
|
"browser.tabs.drawInTitlebar" = false;
|
||||||
|
|
||||||
|
# autoscroll middleclick
|
||||||
|
"general.autoScroll" = true;
|
||||||
|
|
||||||
|
# dont paste on middlemouse
|
||||||
|
"middlemouse.paste" = false;
|
||||||
|
|
||||||
# menu bar
|
# menu bar
|
||||||
"ui.key.menuAccessKeyFocuses" = false;
|
"ui.key.menuAccessKeyFocuses" = false;
|
||||||
|
|
||||||
# use desktop file picker
|
# use desktop file picker
|
||||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||||
|
|
||||||
# sidebar at right
|
# sidebar at right
|
||||||
"sidebar.position_start" = false;
|
"sidebar.position_start" = false;
|
||||||
|
|
||||||
# new sidebar
|
# new sidebar
|
||||||
"sidebar.revamp" = if tablet then true else false;
|
"sidebar.revamp" = true;
|
||||||
"sidebar.verticalTabs" = if tablet then true else false;
|
"sidebar.verticalTabs" = true;
|
||||||
|
"browser.tabs.hoverPreview.enabled" = false;
|
||||||
|
"browser.tabs.hoverPreview.showThumbnails" = false;
|
||||||
|
"browser.tabs.groups.hoverPreview.enabled" = false;
|
||||||
|
|
||||||
# disable pocket
|
# disable pocket
|
||||||
"extensions.pocket.enabled" = false;
|
"extensions.pocket.enabled" = false;
|
||||||
|
|
||||||
# browser links should be new tab
|
# browser links should be new tab
|
||||||
"browser.link.open_newwindow.restriction" = 0;
|
"browser.link.open_newwindow.restriction" = 0;
|
||||||
# allow custom search enginers
|
|
||||||
|
# allow custom search engines
|
||||||
"browser.urlbar.update2.engineAliasRefresh" = true;
|
"browser.urlbar.update2.engineAliasRefresh" = true;
|
||||||
|
# do not retrieve suggestions as you type https://blog.mozilla.org/en/firefox/better-search-suggestions/
|
||||||
|
"browser.urlbar.quicksuggest.online.enabled" = false;
|
||||||
|
# do not trim http
|
||||||
|
"browser.urlbar.trimURLs" = false;
|
||||||
|
|
||||||
# force enable hardware accel
|
# force enable hardware accel
|
||||||
"media.hardware-video-decoding.force-enabled" = true;
|
"media.hardware-video-decoding.force-enabled" = true;
|
||||||
|
|
||||||
# vaapi
|
# vaapi
|
||||||
"media.ffmpeg.vaapi.enabled" = true;
|
"media.ffmpeg.vaapi.enabled" = true;
|
||||||
# downloads ask to save or open
|
|
||||||
|
# downloads
|
||||||
|
# ask to save or open
|
||||||
"browser.download.always_ask_before_handling_new_types" = true;
|
"browser.download.always_ask_before_handling_new_types" = true;
|
||||||
# downloads always ask download location
|
# always ask download location
|
||||||
"browser.download.useDownloadDir" = false;
|
"browser.download.useDownloadDir" = false;
|
||||||
# download to tmp dir, NOT Downloads (seriously Mozilla?)
|
# download to tmp dir, NOT Downloads (seriously Mozilla?)
|
||||||
"browser.download.start_downloads_in_tmp_dir" = true;
|
"browser.download.start_downloads_in_tmp_dir" = true;
|
||||||
|
|
||||||
# widevine
|
# widevine
|
||||||
"browser.eme.ui.enabled" = false;
|
"browser.eme.ui.enabled" = false;
|
||||||
"media.eme.enabled" = false;
|
"media.eme.enabled" = false;
|
||||||
|
|
||||||
# media control keys
|
# media control keys
|
||||||
"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;
|
# open in new tabs
|
||||||
|
"browser.tabs.loadBookmarksInTabs" = true;
|
||||||
|
|
||||||
|
# AI
|
||||||
|
"browser.ml.chat.page" = false;
|
||||||
|
# AI tab groups
|
||||||
|
"browser.tabs.groups.smart.userEnabled" = false;
|
||||||
|
|
||||||
/* Arkenfox Begin */
|
/* Arkenfox Begin */
|
||||||
|
|
||||||
@@ -139,16 +177,19 @@
|
|||||||
"browser.contentblocking.category" = "strict";
|
"browser.contentblocking.category" = "strict";
|
||||||
};
|
};
|
||||||
userChrome = ''
|
userChrome = ''
|
||||||
/* Hide tab bar in FF Quantum */
|
/* Remove old sidebar header */
|
||||||
@-moz-document url(chrome://browser/content/browser.xul), url(chrome://browser/content/browser.xhtml) {
|
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
|
||||||
#TabsToolbar {
|
display: none;
|
||||||
visibility: collapse !important;
|
}
|
||||||
margin-bottom: 21px !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
|
/* Remove sidebar revamp header */
|
||||||
visibility: collapse !important;
|
#sidebar-panel-header {
|
||||||
}
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Allow complete collapse of sidebar revamp */
|
||||||
|
#sidebar-main:not([sidebar-launcher-expanded]) {
|
||||||
|
width: 0;
|
||||||
}
|
}
|
||||||
'';
|
'';
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,29 +1,60 @@
|
|||||||
{ pkgs, inputs, ... }:
|
{ pkgs, inputs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
pkgs_unstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.stdenv.hostPlatform.system}";
|
||||||
|
|
||||||
|
# https://simpler-website.pages.dev/html/2021/1/wine-environment-variables/#wineesync
|
||||||
|
wine-wrapped = (pkgs.writeShellApplication {
|
||||||
|
name = "wine";
|
||||||
|
runtimeInputs = [ pkgs_unstable.wineWowPackages.stagingFull ];
|
||||||
|
text = ''
|
||||||
|
export WINEPREFIX="''${WINEPREFIX:-"$HOME/Games/wine/default"}"
|
||||||
|
wine "$@"
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
# https://github.com/GloriousEggroll/proton-ge-custom?tab=readme-ov-file#modification
|
||||||
|
# These aren't yet documented in the README:
|
||||||
|
# PROTON_MEDIA_USE_GST=1 will tell proton to use the winegstreamer backend instead of the default winedmo backend (the winedmo backend was introduced in Proton 10 and is the current preferred video playback method). This can be useful for games with videos that may have worked in Proton 9 but regressed in Proton 10.
|
||||||
|
# PROTON_GST_VIDEO_ORIENTATION=<orientation> can be any of the following: vertical-flip, horizontal-flip, rotate-180, automatic. This is useful if some games have videos that are upside down or otherwise not oriented correctly.
|
||||||
|
umu-wrapped = (pkgs.writeShellApplication {
|
||||||
|
name = "umu-run";
|
||||||
|
runtimeInputs = [ pkgs_unstable.umu-launcher ];
|
||||||
|
text = ''
|
||||||
|
export PROTONPATH="''${PROTONPATH:-"GE-Proton"}"
|
||||||
|
export PROTON_ENABLE_WAYLAND="''${PROTON_ENABLE_WAYLAND:-"0"}"
|
||||||
|
umu-run "$@"
|
||||||
|
'';
|
||||||
|
});
|
||||||
|
|
||||||
|
# proton with ja_JP
|
||||||
|
umu-ja = (pkgs.writeShellApplication {
|
||||||
|
name = "umu-ja";
|
||||||
|
runtimeInputs = [ umu-wrapped ];
|
||||||
|
text = "LANG=ja_JP.utf8 umu-run \"$@\"";
|
||||||
|
});
|
||||||
|
|
||||||
|
# wine with ja_JP
|
||||||
|
wine-ja = (pkgs.writeShellApplication {
|
||||||
|
name = "wine-ja";
|
||||||
|
runtimeInputs = [ wine-wrapped ];
|
||||||
|
text = "LANG=ja_JP.utf8 wine \"$@\"";
|
||||||
|
});
|
||||||
|
in
|
||||||
{
|
{
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
# Wine / Proton
|
# Wine / Proton
|
||||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".wineWowPackages.stagingFull
|
umu-wrapped
|
||||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".winetricks
|
umu-ja
|
||||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".umu-launcher
|
wine-wrapped
|
||||||
|
wine-ja
|
||||||
# I'm not sure this actually accomplishes anything, even with PROTON_MEDIA_USE_GST=1
|
pkgs_unstable.winetricks
|
||||||
# (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
|
|
||||||
# ];
|
|
||||||
# })
|
|
||||||
|
|
||||||
bottles
|
bottles
|
||||||
(heroic.override {
|
(heroic.override {
|
||||||
extraPkgs = pkgs: [
|
extraPkgs = pkgs: [
|
||||||
|
pkgs.umu-launcher
|
||||||
pkgs.gamescope
|
pkgs.gamescope
|
||||||
|
pkgs.mangohud
|
||||||
];
|
];
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -31,17 +62,25 @@
|
|||||||
steamguard-cli
|
steamguard-cli
|
||||||
|
|
||||||
# Emulators
|
# Emulators
|
||||||
ryubing
|
pkgs_unstable.ryubing
|
||||||
mgba
|
mgba
|
||||||
|
|
||||||
# Cheat engine
|
# Cheat engine
|
||||||
scanmem
|
scanmem
|
||||||
];
|
];
|
||||||
|
|
||||||
# programs.lutris = {
|
programs = {
|
||||||
# enable = true;
|
mangohud = {
|
||||||
# extraPackages = with pkgs; [ mangohud winetricks gamescope gamemode umu-launcher ];
|
enable = true;
|
||||||
# protonPackages = [ pkgs.proton-ge-bin ];
|
enableSessionWide = true;
|
||||||
# winePackages = [ pkgs.wineWowPackages.staging ];
|
settings = {
|
||||||
# };
|
preset = 1;
|
||||||
|
};
|
||||||
|
settingsPerApplication = {
|
||||||
|
mpv = {
|
||||||
|
no_display = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,2 +1,2 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
sudo nixos-rebuild switch --flake "/home/worble/Projects/nixos#$(hostname)"
|
sudo nixos-rebuild switch --flake "$HOME/Projects/nixos/devices/$(hostname)#$(hostname)"
|
||||||
|
|||||||
Reference in New Issue
Block a user