Compare commits
24 Commits
89a15a63e8
...
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 | |||
| fb5b7abbd4 |
@@ -6,6 +6,7 @@
|
||||
./location-time.nix
|
||||
./networking.nix
|
||||
./nix-settings.nix
|
||||
./oomd.nix
|
||||
./pipewire.nix
|
||||
./programs.nix
|
||||
];
|
||||
|
||||
@@ -5,9 +5,6 @@
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
networking = {
|
||||
nftables = {
|
||||
enable = true;
|
||||
};
|
||||
networkmanager = {
|
||||
# Easiest to use and most distros use this by default.
|
||||
enable = true;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ ... }:
|
||||
{ inputs, ... }:
|
||||
|
||||
{
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
@@ -6,6 +6,8 @@
|
||||
nix.settings.auto-optimise-store = true;
|
||||
nix.gc.automatic = true;
|
||||
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 = {
|
||||
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;
|
||||
};
|
||||
}
|
||||
@@ -15,11 +15,12 @@
|
||||
curl
|
||||
inetutils
|
||||
dig
|
||||
exfatprogs
|
||||
|
||||
rar
|
||||
zstd
|
||||
xz
|
||||
p7zip
|
||||
busybox
|
||||
|
||||
libva-utils
|
||||
smartmontools
|
||||
|
||||
@@ -35,4 +35,9 @@
|
||||
};
|
||||
|
||||
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
|
||||
|
||||
@@ -20,11 +10,6 @@ in
|
||||
services.displayManager.sddm = {
|
||||
enable = true;
|
||||
wayland.enable = true;
|
||||
settings = {
|
||||
Wayland = {
|
||||
CompositorCommand = kwin;
|
||||
};
|
||||
};
|
||||
};
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
environment.plasma6.excludePackages = [ pkgs.kdePackages.discover ];
|
||||
@@ -34,15 +19,11 @@ in
|
||||
|
||||
programs.partition-manager.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs;
|
||||
[
|
||||
maliit-keyboard
|
||||
exfatprogs
|
||||
] ++ (with kdePackages; [
|
||||
environment.systemPackages = with pkgs.kdePackages;[
|
||||
sddm-kcm
|
||||
plasma-disks
|
||||
filelight
|
||||
ffmpegthumbs
|
||||
kcalc
|
||||
]);
|
||||
];
|
||||
}
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
{ ... }:
|
||||
|
||||
{
|
||||
services.power-profiles-daemon.enable = false;
|
||||
services.tlp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
RESTORE_DEVICE_STATE_ON_STARTUP = 1;
|
||||
USB_AUTOSUSPEND = 0;
|
||||
PLATFORM_PROFILE_ON_AC = "performance";
|
||||
PLATFORM_PROFILE_ON_BAT = "low-power";
|
||||
CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||
CPU_ENERGY_PERF_POLICY_ON_BAT = "power";
|
||||
CPU_BOOST_ON_AC = 1;
|
||||
CPU_BOOST_ON_BAT = 0;
|
||||
};
|
||||
};
|
||||
services.power-profiles-daemon.enable = true;
|
||||
# services.tlp = {
|
||||
# enable = true;
|
||||
# settings = {
|
||||
# RESTORE_DEVICE_STATE_ON_STARTUP = 1;
|
||||
# USB_AUTOSUSPEND = 0;
|
||||
# PLATFORM_PROFILE_ON_AC = "performance";
|
||||
# PLATFORM_PROFILE_ON_BAT = "low-power";
|
||||
# CPU_ENERGY_PERF_POLICY_ON_AC = "performance";
|
||||
# CPU_ENERGY_PERF_POLICY_ON_BAT = "balance_power";
|
||||
# CPU_BOOST_ON_AC = 1;
|
||||
# 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;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,13 @@
|
||||
{ pkgs, ... }:
|
||||
{ pkgs, lib, config, ... }:
|
||||
|
||||
with lib;
|
||||
{
|
||||
options.virtualisation.containerManagement = mkOption {
|
||||
type = types.enum [ "docker" "podman" ];
|
||||
default = "docker";
|
||||
};
|
||||
|
||||
config = {
|
||||
virtualisation = {
|
||||
containers = {
|
||||
# Enable common container config files in /etc/containers
|
||||
@@ -10,30 +17,37 @@
|
||||
enable = true;
|
||||
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 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 = true;
|
||||
enable = if (config.virtualisation.containerManagement == "docker") then true else false;
|
||||
storageDriver = "btrfs";
|
||||
};
|
||||
# waydroid = {
|
||||
# enable = true;
|
||||
# };
|
||||
waydroid = {
|
||||
enable = true;
|
||||
package = pkgs.waydroid-nftables;
|
||||
};
|
||||
};
|
||||
programs.virt-manager.enable = true;
|
||||
# environment.systemPackages = with pkgs;[
|
||||
# docker-compose
|
||||
# # podman-compose
|
||||
# podman-tui
|
||||
# podman-desktop
|
||||
# ];
|
||||
|
||||
environment.systemPackages = with pkgs;[
|
||||
waydroid-helper
|
||||
] ++ optionals (config.virtualisation.containerManagement == "podman") [
|
||||
docker-compose
|
||||
# podman-compose
|
||||
podman-tui
|
||||
podman-desktop
|
||||
] ++ optionals (config.virtualisation.containerManagement == "docker") [
|
||||
lazydocker
|
||||
];
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
inputs = {
|
||||
nixpkgs.url = "github:nixos/nixpkgs/nixos-25.05?shallow=1";
|
||||
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable?shallow=1"; # use by inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".[package name]
|
||||
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.05?shallow=1";
|
||||
url = "github:nix-community/home-manager/release-25.11?shallow=1";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
@@ -13,25 +13,20 @@
|
||||
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";
|
||||
|
||||
system-manager = {
|
||||
url = "github:numtide/system-manager?shallow=1";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-system-graphics = {
|
||||
url = "github:soupglasses/nix-system-graphics?shallow=1";
|
||||
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
|
||||
system = "x86_64-linux";
|
||||
pkgs = import nixpkgs {
|
||||
@@ -40,25 +35,12 @@
|
||||
};
|
||||
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 {
|
||||
inherit pkgs;
|
||||
extraSpecialArgs = { inherit inputs; };
|
||||
modules = [
|
||||
nix-index-database.homeModules.nix-index
|
||||
./devices/deck/home.nix
|
||||
./home.nix
|
||||
];
|
||||
};
|
||||
systemConfigs.deck = system-manager.lib.makeSystemConfig {
|
||||
@@ -1,7 +1,7 @@
|
||||
{ pkgs, ... }:
|
||||
|
||||
let
|
||||
homeUpdateLocation = "/home/deck/Projects/nixos#deck";
|
||||
homeUpdateLocation = "/home/deck/Projects/nixos/devices/deck#deck";
|
||||
in
|
||||
{
|
||||
imports = [
|
||||
@@ -11,7 +11,7 @@ in
|
||||
];
|
||||
|
||||
terminal.homeUpdateLocation = homeUpdateLocation;
|
||||
terminal.flakeUpdateLocation = "/home/deck/Projects/nixos";
|
||||
terminal.flakeUpdateLocation = "/home/deck/Projects/nixos/devices/deck";
|
||||
|
||||
nixpkgs.config = {
|
||||
allowUnfree = true;
|
||||
|
||||
114
flake.lock → devices/starlite/flake.lock
generated
114
flake.lock → devices/starlite/flake.lock
generated
@@ -7,11 +7,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1758287904,
|
||||
"narHash": "sha256-IGmaEf3Do8o5Cwp1kXBN1wQmZwQN3NLfq5t4nHtVtcU=",
|
||||
"lastModified": 1760701190,
|
||||
"narHash": "sha256-y7UhnWlER8r776JsySqsbTUh2Txf7K30smfHlqdaIQw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "disko",
|
||||
"rev": "67ff9807dd148e704baadbd4fd783b54282ca627",
|
||||
"rev": "3a9450b26e69dcb6f8de6e2b07b3fc1c288d85f5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -20,24 +20,6 @@
|
||||
"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": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
@@ -66,11 +48,11 @@
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760241904,
|
||||
"narHash": "sha256-OD7QnaGEVNdukYEbJbUNWPsvnDrpbZOZxVIk6Pt9Jhw=",
|
||||
"lastModified": 1760846226,
|
||||
"narHash": "sha256-xmU8kAsRprJiTGBTaGrwmjBP3AMA9ltlrxHKFuy5JWc=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "c9f5ea45f25652ec2f771f9426ccacb21cbbaeaa",
|
||||
"rev": "5024e1901239a76b7bf94a4cd27f3507e639d49e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -79,37 +61,16 @@
|
||||
"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": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"nixpkgs": "nixpkgs"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1760320782,
|
||||
"narHash": "sha256-1ycwVgQbDxEc4/zf8OxvnwJJwZ4wNIqgigOv/R/KdW8=",
|
||||
"lastModified": 1761098495,
|
||||
"narHash": "sha256-aE2Vp0Q/Ra95sHk/YgQI6z9PvqPttgcIVUk3uSOWj9g=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-vscode-extensions",
|
||||
"rev": "b227991f119ccaf404e9236d527c1d0e7412fe95",
|
||||
"rev": "bd4690e402591e99a091dcd49663d3d6c9bf0ada",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -120,11 +81,11 @@
|
||||
},
|
||||
"nixos-hardware": {
|
||||
"locked": {
|
||||
"lastModified": 1760106635,
|
||||
"narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=",
|
||||
"lastModified": 1760958188,
|
||||
"narHash": "sha256-2m1S4jl+GEDtlt2QqeHil8Ny456dcGSKJAM7q3j/BFU=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixos-hardware",
|
||||
"rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903",
|
||||
"rev": "d6645c340ef7d821602fd2cd199e8d1eed10afbc",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -152,11 +113,11 @@
|
||||
},
|
||||
"nixpkgs-unstable": {
|
||||
"locked": {
|
||||
"lastModified": 1760284886,
|
||||
"narHash": "sha256-TK9Kr0BYBQ/1P5kAsnNQhmWWKgmZXwUQr4ZMjCzWf2c=",
|
||||
"lastModified": 1760878510,
|
||||
"narHash": "sha256-K5Osef2qexezUfs0alLvZ7nQFTGS9DL2oTVsIXsqLgs=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "cf3f5c4def3c7b5f1fc012b3d839575dbe552d43",
|
||||
"rev": "5e2a59a5b1a82f89f2c7e598302a9cacebb72a67",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -168,11 +129,11 @@
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1760139962,
|
||||
"narHash": "sha256-4xggC56Rub3WInz5eD7EZWXuLXpNvJiUPahGtMkwtuc=",
|
||||
"lastModified": 1760862643,
|
||||
"narHash": "sha256-PXwG0TM7Ek87DNx4LbGWuD93PbFeKAJs4FfALtp7Wo0=",
|
||||
"owner": "nixos",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "7e297ddff44a3cc93673bb38d0374df8d0ad73e4",
|
||||
"rev": "33c6dca0c0cb31d6addcd34e90a63ad61826b28c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
@@ -187,47 +148,10 @@
|
||||
"disko": "disko",
|
||||
"home-manager": "home-manager",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-system-graphics": "nix-system-graphics",
|
||||
"nix-vscode-extensions": "nix-vscode-extensions",
|
||||
"nixos-hardware": "nixos-hardware",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"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"
|
||||
"nixpkgs-unstable": "nixpkgs-unstable"
|
||||
}
|
||||
}
|
||||
},
|
||||
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
|
||||
];
|
||||
|
||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#starlite";
|
||||
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos";
|
||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos/devices/starlite#starlite";
|
||||
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos/devices/starlite";
|
||||
firefox.tablet = true;
|
||||
|
||||
home.username = "worble";
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
../../configuration/modules/virtualisation.nix
|
||||
../../configuration/modules/gaming.nix
|
||||
../../configuration/modules/kde.nix
|
||||
../../configuration/modules/i18n.nix
|
||||
];
|
||||
|
||||
networking.hostName = "tuxedo"; # Define your hostname.
|
||||
@@ -32,7 +33,9 @@
|
||||
"ntsync"
|
||||
];
|
||||
|
||||
services.hardware.openrgb.enable = true;
|
||||
# services.hardware.openrgb.enable = true;
|
||||
|
||||
virtualisation.containerManagement = "docker";
|
||||
|
||||
fileSystems."/mnt/HDD2" = {
|
||||
fsType = "ext4";
|
||||
@@ -64,9 +67,6 @@
|
||||
environment.systemPackages = with pkgs;[
|
||||
distrobox
|
||||
gpu-screen-recorder-gtk
|
||||
|
||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".lsfg-vk
|
||||
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".lsfg-vk-ui
|
||||
];
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
@@ -80,6 +80,7 @@
|
||||
"podman"
|
||||
"cdrom"
|
||||
"wireshark"
|
||||
"kvm" # for android studio
|
||||
]; # Enable ‘sudo’ for the user.
|
||||
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 = [
|
||||
@@ -8,8 +8,8 @@
|
||||
../../home-manager/streamlink.nix
|
||||
];
|
||||
|
||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos#tuxedo";
|
||||
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos";
|
||||
terminal.nixUpdateLocation = "/home/worble/Projects/nixos/devices/tuxedo#tuxedo";
|
||||
terminal.flakeUpdateLocation = "/home/worble/Projects/nixos/devices/tuxedo";
|
||||
helix.fullInstall = true;
|
||||
mpv.high-quality = true;
|
||||
|
||||
@@ -34,15 +34,18 @@
|
||||
teamspeak6-client
|
||||
|
||||
# media
|
||||
jellyfin-media-player
|
||||
# TODO: disabled due to qt5-web-engine vulnerable https://github.com/NixOS/nixpkgs/pull/435067
|
||||
# jellyfin-media-player
|
||||
haruna
|
||||
|
||||
# misc
|
||||
electrum
|
||||
syncthing
|
||||
# TODO: uncomment when ecdsa is updated
|
||||
# https://github.com/NixOS/nixpkgs/pull/456881
|
||||
# electrum
|
||||
dbeaver-bin
|
||||
ruffle
|
||||
popsicle
|
||||
mkvtoolnix
|
||||
|
||||
# for headset tune
|
||||
headsetcontrol
|
||||
@@ -70,16 +73,12 @@
|
||||
};
|
||||
};
|
||||
|
||||
mangohud = {
|
||||
enable = true;
|
||||
topgrade = {
|
||||
settings = {
|
||||
preset = 1;
|
||||
misc = {
|
||||
ignore_failures = [ "containers" ];
|
||||
};
|
||||
};
|
||||
|
||||
kodi = {
|
||||
enable = true;
|
||||
package = pkgs.kodi.withPackages (exts: [ exts.pvr-iptvsimple ]);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
#!/usr/bin/env bash
|
||||
home-manager switch --flake "/home/$(whoami)/Projects/nixos#$(whoami)"
|
||||
home-manager switch --flake "$HOME/Projects/nixos/devices/$(whoami)#$(whoami)"
|
||||
|
||||
@@ -51,10 +51,14 @@ with lib;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
|
||||
delta = {
|
||||
enable = true;
|
||||
enableGitIntegration = true;
|
||||
};
|
||||
|
||||
git = {
|
||||
enable = true;
|
||||
delta.enable = true;
|
||||
extraConfig = {
|
||||
settings = {
|
||||
credential = {
|
||||
helper = [ "cache --timeout 21600" "${pkgs.git-credential-manager}/bin/git-credential-manager" "${pkgs.git-credential-oauth}/bin/git-credential-oauth" ];
|
||||
credentialStore = "secretservice";
|
||||
@@ -174,6 +178,24 @@ with lib;
|
||||
settings = mkMerge [{
|
||||
misc = {
|
||||
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) {
|
||||
@@ -188,11 +210,7 @@ with lib;
|
||||
})
|
||||
(mkIf (flakeUpdateLocation != null) {
|
||||
pre_commands = {
|
||||
nix-flake-update = "${(pkgs.writeShellScriptBin "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";
|
||||
nix-flake-update = "${(pkgs.writeShellScriptBin "nix-flake-update" "sudo nix flake update --flake ${flakeUpdateLocation}")}/bin/nix-flake-update";
|
||||
};
|
||||
})];
|
||||
};
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
{ pkgs, inputs, lib, ... }:
|
||||
{ pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
@@ -9,14 +9,17 @@
|
||||
home.packages = with pkgs;[
|
||||
# general
|
||||
thunderbird
|
||||
keepassxc
|
||||
qbittorrent
|
||||
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
|
||||
teamspeak_client
|
||||
# TODO: disabled due to qt5-web-engine vulnerable https://github.com/NixOS/nixpkgs/pull/435067
|
||||
# teamspeak3
|
||||
teamspeak6-client
|
||||
discord
|
||||
vesktop
|
||||
|
||||
# media
|
||||
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 = {
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
@@ -49,5 +58,11 @@
|
||||
enable = true;
|
||||
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 = [
|
||||
# ./android.nix
|
||||
./dotnet.nix
|
||||
./games.nix
|
||||
./helix.nix
|
||||
|
||||
@@ -3,6 +3,26 @@
|
||||
let
|
||||
openvsx = inputs.nix-vscode-extensions.extensions.x86_64-linux.open-vsx;
|
||||
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
|
||||
{
|
||||
home.packages = with pkgs;[
|
||||
@@ -17,7 +37,9 @@ in
|
||||
profiles.default = {
|
||||
enableUpdateCheck = false;
|
||||
enableExtensionUpdateCheck = false;
|
||||
extensions = (with openvsx;[
|
||||
extensions = [
|
||||
resharper-code # Requires DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
|
||||
] ++ (with openvsx;[
|
||||
biomejs.biome
|
||||
mkhl.direnv
|
||||
dracula-theme.theme-dracula
|
||||
|
||||
@@ -1,66 +1,104 @@
|
||||
{ tablet }:
|
||||
{ tablet ? false }:
|
||||
{
|
||||
settings = {
|
||||
# data privacy
|
||||
"browser.discovery.enabled" = false;
|
||||
"dom.security.https_only_mode" = true;
|
||||
|
||||
# no autofill
|
||||
"extensions.formautofill.addresses.enabled" = false;
|
||||
"extensions.formautofill.creditCards.enabled" = false;
|
||||
|
||||
# stop fonts
|
||||
"browser.display.use_document_fonts" = 0;
|
||||
|
||||
# dont show about:config warning
|
||||
"browser.aboutConfig.showWarning" = false;
|
||||
|
||||
# dont offer to save passwords
|
||||
"signon.rememberSignons" = false;
|
||||
|
||||
# home page
|
||||
"browser.startup.homepage" = "about:blank";
|
||||
|
||||
# blank new tab
|
||||
"browser.newtabpage.enabled" = false;
|
||||
|
||||
# compact density
|
||||
"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
|
||||
"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
|
||||
"ui.key.menuAccessKeyFocuses" = false;
|
||||
|
||||
# use desktop file picker
|
||||
"widget.use-xdg-desktop-portal.file-picker" = 1;
|
||||
|
||||
# sidebar at right
|
||||
"sidebar.position_start" = false;
|
||||
|
||||
# new sidebar
|
||||
"sidebar.revamp" = if tablet then true else false;
|
||||
"sidebar.verticalTabs" = if tablet then true else false;
|
||||
"sidebar.revamp" = true;
|
||||
"sidebar.verticalTabs" = true;
|
||||
"browser.tabs.hoverPreview.enabled" = false;
|
||||
"browser.tabs.hoverPreview.showThumbnails" = false;
|
||||
"browser.tabs.groups.hoverPreview.enabled" = false;
|
||||
|
||||
# disable pocket
|
||||
"extensions.pocket.enabled" = false;
|
||||
|
||||
# browser links should be new tab
|
||||
"browser.link.open_newwindow.restriction" = 0;
|
||||
# allow custom search enginers
|
||||
|
||||
# allow custom search engines
|
||||
"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
|
||||
"media.hardware-video-decoding.force-enabled" = true;
|
||||
|
||||
# vaapi
|
||||
"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;
|
||||
# downloads always ask download location
|
||||
# always ask download location
|
||||
"browser.download.useDownloadDir" = false;
|
||||
# download to tmp dir, NOT Downloads (seriously Mozilla?)
|
||||
"browser.download.start_downloads_in_tmp_dir" = true;
|
||||
|
||||
# widevine
|
||||
"browser.eme.ui.enabled" = false;
|
||||
"media.eme.enabled" = false;
|
||||
|
||||
# media control keys
|
||||
"media.hardwaremediakeys.enabled" = false;
|
||||
|
||||
# restore tabs on startup
|
||||
"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 */
|
||||
|
||||
@@ -139,16 +177,19 @@
|
||||
"browser.contentblocking.category" = "strict";
|
||||
};
|
||||
userChrome = ''
|
||||
/* Hide tab bar in FF Quantum */
|
||||
@-moz-document url(chrome://browser/content/browser.xul), url(chrome://browser/content/browser.xhtml) {
|
||||
#TabsToolbar {
|
||||
visibility: collapse !important;
|
||||
margin-bottom: 21px !important;
|
||||
/* Remove old sidebar header */
|
||||
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header {
|
||||
visibility: collapse !important;
|
||||
/* Remove sidebar revamp header */
|
||||
#sidebar-panel-header {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Allow complete collapse of sidebar revamp */
|
||||
#sidebar-main:not([sidebar-launcher-expanded]) {
|
||||
width: 0;
|
||||
}
|
||||
'';
|
||||
}
|
||||
|
||||
@@ -1,32 +1,60 @@
|
||||
{ pkgs, inputs, ... }:
|
||||
|
||||
let
|
||||
pkgs_unstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}";
|
||||
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;[
|
||||
# Wine / Proton
|
||||
pkgs_unstable.wineWowPackages.stagingFull
|
||||
umu-wrapped
|
||||
umu-ja
|
||||
wine-wrapped
|
||||
wine-ja
|
||||
pkgs_unstable.winetricks
|
||||
pkgs_unstable.umu-launcher
|
||||
|
||||
# I'm not sure this actually accomplishes anything, even with PROTON_MEDIA_USE_GST=1
|
||||
# (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
|
||||
(heroic.override {
|
||||
extraPkgs = pkgs: [
|
||||
pkgs.umu-launcher
|
||||
pkgs.gamescope
|
||||
pkgs.mangohud
|
||||
];
|
||||
})
|
||||
|
||||
@@ -34,42 +62,25 @@ in
|
||||
steamguard-cli
|
||||
|
||||
# Emulators
|
||||
ryubing
|
||||
pkgs_unstable.ryubing
|
||||
mgba
|
||||
|
||||
# Cheat engine
|
||||
scanmem
|
||||
|
||||
# proton with ja_JP
|
||||
(pkgs.writeShellApplication {
|
||||
name = "umu-ja";
|
||||
runtimeInputs = [ pkgs_unstable.umu-launcher ];
|
||||
text = "LANG=ja_JP.utf8 umu-run \"$@\"";
|
||||
})
|
||||
|
||||
# wine with ja_JP
|
||||
(pkgs.writeShellApplication {
|
||||
name = "wine-ja";
|
||||
runtimeInputs = [ pkgs_unstable.wineWowPackages.stagingFull ];
|
||||
text = "LANG=ja_JP.utf8 wine \"$@\"";
|
||||
})
|
||||
];
|
||||
|
||||
# https://github.com/GloriousEggroll/proton-ge-custom?tab=readme-ov-file#modification
|
||||
# There 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.
|
||||
# https://simpler-website.pages.dev/html/2021/1/wine-environment-variables/#wineesync
|
||||
home.sessionVariables = {
|
||||
WINEPREFIX = "~/Games/wine/default";
|
||||
PROTONPATH = "GE-Proton";
|
||||
PROTON_ENABLE_WAYLAND = "0"; # One day...
|
||||
programs = {
|
||||
mangohud = {
|
||||
enable = true;
|
||||
enableSessionWide = true;
|
||||
settings = {
|
||||
preset = 1;
|
||||
};
|
||||
settingsPerApplication = {
|
||||
mpv = {
|
||||
no_display = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# programs.lutris = {
|
||||
# enable = true;
|
||||
# extraPackages = with pkgs; [ mangohud winetricks gamescope gamemode umu-launcher ];
|
||||
# protonPackages = [ pkgs.proton-ge-bin ];
|
||||
# winePackages = [ pkgs.wineWowPackages.staging ];
|
||||
# };
|
||||
}
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
#!/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