Merge branch 'master' of https://git.worble.xyz/worble/nixos
This commit is contained in:
@@ -15,6 +15,7 @@
|
|||||||
curl
|
curl
|
||||||
inetutils
|
inetutils
|
||||||
dig
|
dig
|
||||||
|
exfatprogs
|
||||||
|
|
||||||
rar
|
rar
|
||||||
zstd
|
zstd
|
||||||
|
|||||||
@@ -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
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -13,12 +13,6 @@
|
|||||||
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 = {
|
||||||
@@ -31,7 +25,7 @@
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
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,19 +34,6 @@
|
|||||||
};
|
};
|
||||||
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; };
|
||||||
@@ -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;
|
||||||
|
|||||||
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.05?shallow=1";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable?shallow=1"; # use by inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".[package name]
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/release-25.05?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
|
||||||
|
./devices/starlite/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";
|
||||||
|
|||||||
61
flake.lock → devices/tuxedo/flake.lock
generated
61
flake.lock → devices/tuxedo/flake.lock
generated
@@ -79,26 +79,6 @@
|
|||||||
"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",
|
"flake-utils": "flake-utils",
|
||||||
@@ -118,22 +98,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixos-hardware": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1760106635,
|
|
||||||
"narHash": "sha256-2GoxVaKWTHBxRoeUYSjv0AfSOx4qw5CWSFz2b+VolKU=",
|
|
||||||
"owner": "NixOS",
|
|
||||||
"repo": "nixos-hardware",
|
|
||||||
"rev": "9ed85f8afebf2b7478f25db0a98d0e782c0ed903",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "NixOS",
|
|
||||||
"ref": "master",
|
|
||||||
"repo": "nixos-hardware",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1759770925,
|
"lastModified": 1759770925,
|
||||||
@@ -187,32 +151,9 @@
|
|||||||
"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",
|
|
||||||
"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": {
|
"systems": {
|
||||||
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.05?shallow=1";
|
||||||
|
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable?shallow=1"; # use by inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".[package name]
|
||||||
|
|
||||||
|
home-manager = {
|
||||||
|
url = "github:nix-community/home-manager/release-25.05?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
|
||||||
|
];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -8,8 +8,8 @@
|
|||||||
../../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;
|
mpv.high-quality = true;
|
||||||
|
|
||||||
|
|||||||
@@ -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)"
|
||||||
|
|||||||
@@ -188,11 +188,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";
|
|
||||||
};
|
};
|
||||||
})];
|
})];
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2,26 +2,51 @@
|
|||||||
|
|
||||||
let
|
let
|
||||||
pkgs_unstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}";
|
pkgs_unstable = inputs.nixpkgs-unstable.legacyPackages."${pkgs.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 "$@"
|
||||||
|
'';
|
||||||
|
});
|
||||||
in
|
in
|
||||||
{
|
{
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
# Wine / Proton
|
# Wine / Proton
|
||||||
pkgs_unstable.wineWowPackages.stagingFull
|
umu-wrapped
|
||||||
|
wine-wrapped
|
||||||
pkgs_unstable.winetricks
|
pkgs_unstable.winetricks
|
||||||
pkgs_unstable.umu-launcher
|
|
||||||
|
|
||||||
# I'm not sure this actually accomplishes anything, even with PROTON_MEDIA_USE_GST=1
|
# proton with ja_JP
|
||||||
# (umu-launcher.override {
|
(pkgs.writeShellApplication {
|
||||||
# extraPkgs = pkgs: with pkgs.gst_all_1; [
|
name = "umu-ja";
|
||||||
# gstreamer
|
runtimeInputs = [ umu-wrapped ];
|
||||||
# gst-plugins-base
|
text = "LANG=ja_JP.utf8 umu-run \"$@\"";
|
||||||
# gst-plugins-good
|
})
|
||||||
# gst-plugins-bad
|
|
||||||
# gst-plugins-ugly
|
# wine with ja_JP
|
||||||
# gst-libav
|
(pkgs.writeShellApplication {
|
||||||
# gst-vaapi
|
name = "wine-ja";
|
||||||
# ];
|
runtimeInputs = [ wine-wrapped ];
|
||||||
# })
|
text = "LANG=ja_JP.utf8 wine \"$@\"";
|
||||||
|
})
|
||||||
|
|
||||||
bottles
|
bottles
|
||||||
(heroic.override {
|
(heroic.override {
|
||||||
@@ -34,42 +59,10 @@ in
|
|||||||
steamguard-cli
|
steamguard-cli
|
||||||
|
|
||||||
# Emulators
|
# Emulators
|
||||||
ryubing
|
pkgs_unstable.ryubing
|
||||||
mgba
|
mgba
|
||||||
|
|
||||||
# Cheat engine
|
# Cheat engine
|
||||||
scanmem
|
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.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
|
#!/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