add overlay to lock vscode version, git config into symlink

This commit is contained in:
greyweather committed 2026-09-07 00:49:50 +01:00
1 parent 846be90bda
commit 237582057e
13 files changed
+156 -102

No files matched your search

+2 -2
View File
@@ -11,14 +11,14 @@
kdePackages.filelight
];
in {
flake.nixosModules.graphics = { pkgs, ... }: {
flake.nixosModules.graphics = { pkgs, config, ... }: {
imports = [ self.nixosModules.graphicsOptions ];
environment.systemPackages = with pkgs; [
wayland-utils
mesa-demos
vulkan-tools
] ++ (if !config.features.nixos.home-manager.enable then (extraPackages pkgs) else []);
] ++ (if !(config.features.nixos.home-manager.enable) then (extraPackages pkgs) else []);
fonts.packages = with pkgs; [
iosevka-comfy.comfy
+3 -3
View File
@@ -1,10 +1,10 @@
{ inputs, self, ... }: {
{ ... }: {
imports = [ ./niri.nix ];
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
# override niri source to use https://github.com/barrulus/biri
config = lib.mkIf (builtins.elem "biri" config.components.windowManagers) {
programs.niri.package = self.packages.${pkgs.stdenv.hostPlatform.system}.biri;
programs.niri.package = pkgs.biri;
home-manager.users.${config.info.userName} = lib.mkIf (config.features.nixos.home-manager.enable) {
components.windowManagers = [ "biri" ];
@@ -12,7 +12,7 @@
};
};
flake.homeModules.graphics = { config, pkgs, lib, inputs, ... }: {
flake.homeModules.graphics = { config, lib, ... }: {
config = lib.mkIf (builtins.elem "biri" config.components.windowManagers) {
features.applications.shellScripts = {
niri-scratch-workspace-toggle = ''
+2 -2
View File
@@ -1,9 +1,9 @@
{ inputs, self, ... }: let
{ inputs, ... }: let
optionName = "features.applications.gui.vscode.enable";
in {
imports = [ (inputs.helpers.mkStandardFeature.flakeModule "graphics" optionName "VS Code") ];
flake.nixosModules.graphics = { config, pkgs, lib, ... }: {
flake.nixosModules.graphics = { config, pkgs, ... }: {
imports = [ (inputs.helpers.mkStandardFeature.nixosModule { inherit config optionName; } {
environment.systemPackages = [ pkgs.vscode ];
}) ];
+13 -25
View File
@@ -29,19 +29,11 @@
homeDirectory = "/home/${config.home.username}";
file = inputs.helpers.localBinFromStringAttrs config.features.applications.shellScripts;
};
programs.sftpman = lib.mkIf (config.info.hostName != "sakamoto") {
enable = true;
mounts = {
sakamoto = {
host = "sakamoto";
mountDestPath = "/home/grey/mounts/ssh/sakamoto";
mountPoint = "/";
sshKey = "/home/grey/.ssh/id_sakamoto";
user = "grey";
};
};
activation.linkGitConfig = lib.hm.dag.entryAfter ["writeBoundary"] (inputs.helpers.mkSymlinkActivationScript {
target = "${config.home.homeDirectory}/.gitconfig";
source = "${config.info.rootPath}/dotfiles/shared/git.conf";
});
};
targets.genericLinux.enable = config.info.isStandalone;
@@ -60,20 +52,16 @@
services.gnome-keyring.enable = config.info.isStandalone;
programs = {
git = {
sftpman = lib.mkIf (config.info.hostName != "sakamoto") {
enable = true;
lfs.enable = true;
settings = {
user.name = "Grey Jones";
user.email = "grey@greyweather.dev";
};
signing = {
format = "openpgp";
key = "CC7388DF8E1890729921BCFF7C67C51C2FF524D9";
signByDefault = true;
mounts = {
sakamoto = {
host = "sakamoto";
mountDestPath = "/home/grey/mounts/ssh/sakamoto";
mountPoint = "/";
sshKey = "/home/grey/.ssh/id_sakamoto";
user = "grey";
};
};
};
+7 -1
View File
@@ -54,15 +54,21 @@
};
environment.systemPackages = with pkgs; [
git
fzf
jq
busybox
ethtool
hyperfine
nixd
nixfmt
] ++ config.features.applications.extraPackages;
programs = {
git = {
enable = true;
lfs.enable = true;
};
nano = {
enable = true;
nanorc = ''
+2
View File
@@ -50,6 +50,7 @@
extraPackages = with pkgs; [
moonlight-qt
github-desktop
];
};
};
@@ -103,6 +104,7 @@
jetbrains.idea
xarchiver
kdePackages.kate
kdePackages.kdeconnect-kde
loupe
sshfs
];
+18
View File
@@ -0,0 +1,18 @@
{ self, ... }: {
flake.nixosModules.options = { ... }: {
imports = with self.nixosModules; [
globalOptions
graphicsOptions
gamingOptions
];
};
flake.homeModules.options = { ... }: {
imports = with self.homeModules; [
globalOptions
audioOptions
graphicsOptions
gamingOptions
];
};
}
+21
View File
@@ -0,0 +1,21 @@
{ inputs, self, ... }: let
overlays = [
(final: prev: let
stablePkgs = import inputs.nixpkgs-26-05 {
system = prev.stdenv.hostPlatform.system;
config.allowUnfree = true;
};
in {
vscode = stablePkgs.vscode;
biri = self.packages.${prev.stdenv.hostPlatform.system}.biri;
})
];
in {
flake.nixosModules.global = { ... }: {
nixpkgs.overlays = overlays;
};
flake.homeModules.global = { lib, config, ... }: {
nixpkgs.overlays = lib.mkIf (config.info.isStandalone) overlays;
};
}