add nix system graphics
This commit is contained in:
@@ -1,5 +1,8 @@
|
|||||||
{ pkgs, inputs, config, ... }:
|
{ 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;[ (config.lib.nixGL.wrap nextcloud-client) ];
|
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,21 +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;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
nixGL = {
|
programs = {
|
||||||
packages = inputs.nixgl.packages;
|
topgrade = {
|
||||||
# vulkan.enable = true;
|
settings = {
|
||||||
};
|
post_commands = {
|
||||||
|
nix-system-manager = "sudo system-manager switch --flake ${homeUpdateLocation}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
programs.kodi = {
|
kodi = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = config.lib.nixGL.wrap (pkgs.kodi.withPackages (exts: [ exts.jellycon exts.joystick ]));
|
package = pkgs.kodi.withPackages (exts: [ exts.jellycon exts.joystick ]);
|
||||||
};
|
|
||||||
|
|
||||||
systemd.user.services.nextcloud-client = {
|
|
||||||
Unit = {
|
|
||||||
After = pkgs.lib.mkForce "graphical-session.target";
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
114
flake.lock
generated
114
flake.lock
generated
@@ -54,21 +54,6 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"flake-utils_2": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1659877975,
|
|
||||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "numtide",
|
|
||||||
"repo": "flake-utils",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"home-manager": {
|
"home-manager": {
|
||||||
"inputs": {
|
"inputs": {
|
||||||
"nixpkgs": [
|
"nixpkgs": [
|
||||||
@@ -90,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",
|
||||||
@@ -111,32 +116,13 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"nixgl": {
|
|
||||||
"inputs": {
|
|
||||||
"flake-utils": "flake-utils_2",
|
|
||||||
"nixpkgs": "nixpkgs_2"
|
|
||||||
},
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1713543440,
|
|
||||||
"narHash": "sha256-lnzZQYG0+EXl/6NkGpyIz+FEOc/DSEG57AP1VsdeNrM=",
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixGL",
|
|
||||||
"rev": "310f8e49a149e4c9ea52f1adf70cdc768ec53f8a",
|
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nix-community",
|
|
||||||
"repo": "nixGL",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"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": {
|
||||||
@@ -164,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": {
|
||||||
@@ -180,26 +166,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs_2": {
|
"nixpkgs_2": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1660551188,
|
"lastModified": 1740162160,
|
||||||
"narHash": "sha256-a1LARMMYQ8DPx1BgoI/UN4bXe12hhZkCNqdxNi6uS0g=",
|
"narHash": "sha256-SSYxFhqCOb3aiPb6MmN68yEzBIltfom8IgRz7phHscM=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "441dc5d512153039f19ef198e662e4f3dbb9fd65",
|
"rev": "11415c7ae8539d6292f2928317ee7a8410b28bb9",
|
||||||
"type": "github"
|
|
||||||
},
|
|
||||||
"original": {
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"type": "github"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nixpkgs_3": {
|
|
||||||
"locked": {
|
|
||||||
"lastModified": 1739758141,
|
|
||||||
"narHash": "sha256-uq6A2L7o1/tR6VfmYhZWoVAwb3gTy7j4Jx30MIrH0rE=",
|
|
||||||
"owner": "nixos",
|
|
||||||
"repo": "nixpkgs",
|
|
||||||
"rev": "c618e28f70257593de75a7044438efc1c1fc0791",
|
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -213,11 +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",
|
||||||
"nixgl": "nixgl",
|
|
||||||
"nixos-hardware": "nixos-hardware",
|
"nixos-hardware": "nixos-hardware",
|
||||||
"nixpkgs": "nixpkgs_3",
|
"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": {
|
||||||
|
|||||||
30
flake.nix
30
flake.nix
@@ -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,14 +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 = {
|
||||||
nixgl.url = "github:nix-community/nixGL";
|
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 {
|
||||||
@@ -39,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;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
];
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -9,15 +9,15 @@
|
|||||||
|
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
# general
|
# general
|
||||||
(config.lib.nixGL.wrap thunderbird)
|
thunderbird
|
||||||
(config.lib.nixGL.wrap keepassxc)
|
keepassxc
|
||||||
(config.lib.nixGL.wrap qbittorrent)
|
qbittorrent
|
||||||
(config.lib.nixGL.wrap libreoffice-qt)
|
libreoffice-qt
|
||||||
(config.lib.nixGL.wrap joplin-desktop)
|
joplin-desktop
|
||||||
|
|
||||||
# comms
|
# comms
|
||||||
(config.lib.nixGL.wrap teamspeak_client)
|
teamspeak_client
|
||||||
(config.lib.nixGL.wrap vesktop)
|
vesktop
|
||||||
];
|
];
|
||||||
|
|
||||||
home.sessionVariables = {
|
home.sessionVariables = {
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
services.nextcloud-client = {
|
services.nextcloud-client = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = config.lib.nixGL.wrap pkgs.nextcloud-client;
|
package = pkgs.nextcloud-client;
|
||||||
startInBackground = true;
|
startInBackground = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
chromium = {
|
chromium = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = config.lib.nixGL.wrap pkgs.brave;
|
package = pkgs.brave;
|
||||||
};
|
};
|
||||||
|
|
||||||
mpv = lib.mkDefault {
|
mpv = lib.mkDefault {
|
||||||
|
|||||||
@@ -170,7 +170,7 @@ with lib;
|
|||||||
|
|
||||||
alacritty = {
|
alacritty = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = config.lib.nixGL.wrap pkgs.alacritty;
|
package = pkgs.alacritty;
|
||||||
settings = {
|
settings = {
|
||||||
font = {
|
font = {
|
||||||
normal = {
|
normal = {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
programs = {
|
programs = {
|
||||||
firefox = {
|
firefox = {
|
||||||
enable = true;
|
enable = true;
|
||||||
package = config.lib.nixGL.wrap pkgs.firefox;
|
package = pkgs.firefox;
|
||||||
languagePacks = [
|
languagePacks = [
|
||||||
"en-GB"
|
"en-GB"
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
{
|
{
|
||||||
home.packages = with pkgs;[
|
home.packages = with pkgs;[
|
||||||
steamguard-cli
|
steamguard-cli
|
||||||
(config.lib.nixGL.wrap bottles)
|
bottles
|
||||||
(config.lib.nixGL.wrap inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".ryujinx-greemdev)
|
inputs.nixpkgs-unstable.legacyPackages."${pkgs.system}".ryujinx-greemdev
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo "unset LD_PRELOAD"
|
|
||||||
unset LD_PRELOAD
|
|
||||||
source /etc/profile.d/nix.sh
|
|
||||||
exec "$@"
|
|
||||||
Reference in New Issue
Block a user