Compare commits

..

2 Commits

Author SHA1 Message Date
Steam Deck User
9bc902cb90 add nix system graphics 2025-02-23 18:02:24 +00:00
Steam Deck User
3bda156ab4 add nixgl 2025-02-23 16:22:20 +00:00
9 changed files with 121 additions and 23 deletions

View File

@@ -1,5 +1,8 @@
{ pkgs, ... }: { pkgs, ... }:
let
homeUpdateLocation = "/home/deck/Projects/nixos#deck";
in
{ {
imports = [ imports = [
../../home-manager/base.nix ../../home-manager/base.nix
@@ -7,19 +10,23 @@
../../home-manager/development/vscode.nix ../../home-manager/development/vscode.nix
]; ];
terminal.homeUpdateLocation = "/home/deck/Projects/nixos#deck"; terminal.homeUpdateLocation = homeUpdateLocation;
terminal.flakeUpdateLocation = "/home/deck/Projects/nixos"; terminal.flakeUpdateLocation = "/home/deck/Projects/nixos";
nixpkgs.config = { nixpkgs.config = {
allowUnfree = true; allowUnfree = true;
}; };
nix.gc.automatic = true;
home.username = "deck"; home.username = "deck";
home.homeDirectory = "/home/deck"; home.homeDirectory = "/home/deck";
home.stateVersion = "24.05"; home.stateVersion = "24.05";
home.packages = with pkgs;[ ]; home.packages = with pkgs;[
system-manager
nextcloud-client
];
home.file = { home.file = {
# # Building this configuration will create a copy of 'dotfiles/screenrc' in # # Building this configuration will create a copy of 'dotfiles/screenrc' in
@@ -32,5 +39,29 @@
# org.gradle.console=verbose # org.gradle.console=verbose
# org.gradle.daemon.idletimeout=3600000 # org.gradle.daemon.idletimeout=3600000
# ''; # '';
"nix-steam-run.sh" = {
text = ''
unset LD_PRELOAD
# shellcheck source=/dev/null
source /etc/profile.d/nix.sh
exec "$@"
'';
executable = true;
};
};
programs = {
topgrade = {
settings = {
post_commands = {
nix-system-manager = "sudo system-manager switch --flake ${homeUpdateLocation}";
};
};
};
kodi = {
enable = true;
package = pkgs.kodi.withPackages (exts: [ exts.jellycon exts.joystick ]);
};
}; };
} }

62
flake.lock generated
View File

@@ -75,6 +75,26 @@
"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-compat": "flake-compat", "flake-compat": "flake-compat",
@@ -98,11 +118,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1739798439, "lastModified": 1740089251,
"narHash": "sha256-GyipmjbbQEaosel/+wq1xihCKbv0/e1LU00x/8b/fP4=", "narHash": "sha256-Y78mDBWoO8CLLTjQfPfII+KXFb6lAmF9GrLbyVBsIMM=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "3e2ea8a49d4d76276b0f4e2041df8ca5c0771371", "rev": "18e9f9753e9ae261bcc7d3abe15745686991fd30",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -130,11 +150,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1739866667, "lastModified": 1740126099,
"narHash": "sha256-EO1ygNKZlsAC9avfcwHkKGMsmipUk1Uc0TbrEZpkn64=", "narHash": "sha256-ozoOtE2hGsqh4XkTJFsrTkNxkRgShxpQxDynaPZUGxk=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "73cf49b8ad837ade2de76f87eb53fc85ed5d4680", "rev": "32fb99ba93fea2798be0e997ea331dd78167f814",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -146,11 +166,11 @@
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": { "locked": {
"lastModified": 1739758141, "lastModified": 1740162160,
"narHash": "sha256-uq6A2L7o1/tR6VfmYhZWoVAwb3gTy7j4Jx30MIrH0rE=", "narHash": "sha256-SSYxFhqCOb3aiPb6MmN68yEzBIltfom8IgRz7phHscM=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c618e28f70257593de75a7044438efc1c1fc0791", "rev": "11415c7ae8539d6292f2928317ee7a8410b28bb9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@@ -164,10 +184,32 @@
"inputs": { "inputs": {
"disko": "disko", "disko": "disko",
"home-manager": "home-manager", "home-manager": "home-manager",
"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": 1739316420,
"narHash": "sha256-FZBKtR8mqbcEazdpI1SoID43FeldQPhjnvluUO9HAaI=",
"owner": "numtide",
"repo": "system-manager",
"rev": "82d5a9ecd15ec48bcbfbacf5462066ee267d6aae",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "system-manager",
"type": "github"
} }
}, },
"systems": { "systems": {

View File

@@ -3,6 +3,7 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
nixos-hardware.url = "github:NixOS/nixos-hardware/master"; nixos-hardware.url = "github:NixOS/nixos-hardware/master";
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions?rev=a81daa13ca23440d8ae219d765140769c4d2f117";
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-24.11"; url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@@ -11,13 +12,23 @@
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-vscode-extensions.url = "github:nix-community/nix-vscode-extensions?rev=a81daa13ca23440d8ae219d765140769c4d2f117"; system-manager = {
url = "github:numtide/system-manager";
inputs.nixpkgs.follows = "nixpkgs";
};
nix-system-graphics = {
url = "github:soupglasses/nix-system-graphics";
inputs.nixpkgs.follows = "nixpkgs";
};
}; };
outputs = { self, nixpkgs, nixos-hardware, home-manager, ... }@inputs: outputs = { self, nixpkgs, nixos-hardware, home-manager, system-manager, nix-system-graphics, ... }@inputs:
let let
system = "x86_64-linux"; system = "x86_64-linux";
pkgs = nixpkgs.legacyPackages.${system}; pkgs = import nixpkgs {
inherit system;
overlays = [ system-manager.overlays.default ];
};
in in
{ {
nixosConfigurations.tuxedo = nixpkgs.lib.nixosSystem { nixosConfigurations.tuxedo = nixpkgs.lib.nixosSystem {
@@ -38,5 +49,17 @@
extraSpecialArgs = { inherit inputs; }; extraSpecialArgs = { inherit inputs; };
modules = [ ./devices/deck/home.nix ]; modules = [ ./devices/deck/home.nix ];
}; };
systemConfigs.deck = system-manager.lib.makeSystemConfig {
modules = [
nix-system-graphics.systemModules.default
{
config = {
nixpkgs.hostPlatform = "x86_64-linux";
system-manager.allowAnyDistro = true;
system-graphics.enable = true;
};
}
];
};
}; };
} }

2
home-manager-update.sh Normal file → Executable file
View File

@@ -1,2 +1,2 @@
#!/usr/bin/env bash #!/usr/bin/env bash
home-manager switch --flake "/home/worble/Projects/nixos#$(whoami)" home-manager switch --flake "/home/$(whoami)/Projects/nixos#$(whoami)"

View File

@@ -1,9 +1,9 @@
{ pkgs, lib, ... }: { pkgs, lib, config, ... }:
{ {
imports = [ imports = [
./fonts.nix ./base/fonts.nix
./terminal.nix ./base/terminal.nix
./firefox/firefox.nix ./firefox/firefox.nix
]; ];
@@ -26,6 +26,7 @@
services.nextcloud-client = { services.nextcloud-client = {
enable = true; enable = true;
package = pkgs.nextcloud-client;
startInBackground = true; startInBackground = true;
}; };

View File

@@ -3,7 +3,7 @@
with lib; with lib;
{ {
imports = [ imports = [
./development/helix.nix ../development/helix.nix
]; ];
options.terminal = { options.terminal = {
@@ -170,6 +170,7 @@ with lib;
alacritty = { alacritty = {
enable = true; enable = true;
package = pkgs.alacritty;
settings = { settings = {
font = { font = {
normal = { normal = {

View File

@@ -1,9 +1,10 @@
{ ... }: { pkgs, config, ... }:
{ {
programs = { programs = {
firefox = { firefox = {
enable = true; enable = true;
package = pkgs.firefox;
languagePacks = [ languagePacks = [
"en-GB" "en-GB"
]; ];
@@ -22,7 +23,6 @@
listToAttrs [ listToAttrs [
# Security / Privacy # Security / Privacy
(extension "ublock-origin" "uBlock0@raymondhill.net") (extension "ublock-origin" "uBlock0@raymondhill.net")
(extension "clearurls" "{74145f27-f039-47ce-a470-a662b129930a}")
(extension "canvasblocker" "CanvasBlocker@kkapsner.de") (extension "canvasblocker" "CanvasBlocker@kkapsner.de")
(extension "cookie-autodelete" "CookieAutoDelete@kennydo.com") (extension "cookie-autodelete" "CookieAutoDelete@kennydo.com")
(extension "happy-bonobo-disable-webrtc" "jid1-5Fs7iTLscUaZBgwr@jetpack") (extension "happy-bonobo-disable-webrtc" "jid1-5Fs7iTLscUaZBgwr@jetpack")

View File

@@ -1,4 +1,4 @@
{ inputs, pkgs, ... }: { inputs, pkgs, config, ... }:
{ {
home.packages = with pkgs;[ home.packages = with pkgs;[