Compare commits

...

15 Commits

12 changed files with 73 additions and 40 deletions

View File

@ -140,11 +140,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723202784, "lastModified": 1723803910,
"narHash": "sha256-qbhjc/NEGaDbyy0ucycubq4N3//gDFFH3DOmp1D3u1Q=", "narHash": "sha256-yezvUuFiEnCFbGuwj/bQcqg7RykIEqudOy/RBrId0pc=",
"owner": "cachix", "owner": "cachix",
"repo": "git-hooks.nix", "repo": "git-hooks.nix",
"rev": "c7012d0c18567c889b948781bc74a501e92275d1", "rev": "bfef0ada09e2c8ac55bbcd0831bd0c9d42e651ba",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -204,11 +204,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723399884, "lastModified": 1723986931,
"narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=", "narHash": "sha256-Fy+KEvDQ+Hc8lJAV3t6leXhZJ2ncU5/esxkgt3b8DEY=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "086f619dd991a4d355c07837448244029fc2d9ab", "rev": "2598861031b78aadb4da7269df7ca9ddfc3e1671",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -229,11 +229,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1723796332, "lastModified": 1724141451,
"narHash": "sha256-V1eO+6leWxL4etUpgxi81kC9mOUIPo/gy4GXPqcgQ6E=", "narHash": "sha256-SoPZKkqwrxHmCXt5qjK6yT4jfr1R6+J9ya5oV49AR4Q=",
"owner": "nix-community", "owner": "nix-community",
"repo": "neovim-nightly-overlay", "repo": "neovim-nightly-overlay",
"rev": "b67c560eb553aa29f7e4efa729af61ff4d45c786", "rev": "e575f5de031b6e06b90f40f84ed53b614bef2c9b",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -245,11 +245,11 @@
"neovim-src": { "neovim-src": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1723747612, "lastModified": 1724106236,
"narHash": "sha256-e7QFAYeZSjhQ1H0mk2awv2KcXlsepzXki3uYEUBXZ8Q=", "narHash": "sha256-FGLERUg/GAG2npgkBJ0XcEoA9rWNyH+DYW3PZ3/tYsU=",
"owner": "neovim", "owner": "neovim",
"repo": "neovim", "repo": "neovim",
"rev": "fd65422b99c7cc69e5053a852244cfc9d46d7b65", "rev": "1d11808bfd2879bf278cd05a7095a6634fa5afec",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -260,11 +260,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1723637854, "lastModified": 1723991338,
"narHash": "sha256-med8+5DSWa2UnOqtdICndjDAEjxr5D7zaIiK4pn0Q7c=", "narHash": "sha256-Grh5PF0+gootJfOJFenTTxDTYPidA3V28dqJ/WV7iis=",
"owner": "nixos", "owner": "nixos",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "c3aa7b8938b17aebd2deecf7be0636000d62a2b9", "rev": "8a3354191c0d7144db9756a74755672387b702ba",
"type": "github" "type": "github"
}, },
"original": { "original": {

View File

@ -15,8 +15,8 @@ in
{ {
imports = getModules ./.; imports = getModules ./.;
nixpkgs.config.allowUnfree = true; # nixpkgs.config.allowUnfree = true;
nixpkgs.overlays = [ self.overlays.default ]; # nixpkgs.overlays = [ self.overlays.default ];
snowhawk.user.enable = lib.mkDefault true; snowhawk.user.enable = lib.mkDefault true;
snowhawk.tmux.enable = lib.mkDefault true; snowhawk.tmux.enable = lib.mkDefault true;

View File

@ -40,5 +40,24 @@ in
builtins.readFile "${inputs.fish_theme}/fish_prompt.fish" + "\n" + builtins.readFile "${inputs.fish_theme}/fish_prompt.fish" + "\n" +
builtins.readFile ../fish/config.fish; builtins.readFile ../fish/config.fish;
}; };
home.packages = with pkgs; [
(writeShellApplication {
name = "lnmv";
runtimeInputs = [ coreutils ];
text = ''
# This is crude i know, more shell guards and stuff that I'm bad at
# Usage:
# lnmv <source> <target>
data=''${1%/}
target=''${2%/}
mv "$data" "$target"
ln -s "$target" "$data"
'';
})
];
}; };
} }

View File

@ -5,6 +5,7 @@ let
cfg = config.snowhawk.tmux; cfg = config.snowhawk.tmux;
sessionizer = cfg.sessionizer; sessionizer = cfg.sessionizer;
macos = config.snowhawk.macos.enable;
in in
{ {
options.snowhawk.tmux = { options.snowhawk.tmux = {
@ -14,7 +15,7 @@ in
config = lib.mkIf cfg.enable { config = lib.mkIf cfg.enable {
programs.tmux = { programs.tmux = {
enable = true; enable = true;
shell = getExe pkgs.fish; shell = getExe (if macos then pkgs.zsh else pkgs.fish);
mouse = true; mouse = true;
baseIndex = 1; baseIndex = 1;
terminal = "screen-256color"; terminal = "screen-256color";

View File

@ -19,6 +19,12 @@ in
(writeShellScriptBin "iinact" '' (writeShellScriptBin "iinact" ''
${pkgs.brave}/bin/brave --new-window "http://proxy.iinact.com/overlay/skyline/?OVERLAY_WS=ws://127.0.0.1:10501/ws" ${pkgs.brave}/bin/brave --new-window "http://proxy.iinact.com/overlay/skyline/?OVERLAY_WS=ws://127.0.0.1:10501/ws"
'') '')
# (lib.mkIf cfg.textools.enable pkgs.wrapWine {
# # https://gist.github.com/helpful-fox-senko-san/6238143f5c7352ab44e62c5a0f7f7642
# name = "textools";
# tricks = [ "dotnet48" "dxvk" ];
# })
] ++ map (name: (writeShellScriptBin name launchffxiv)) [ "ff14" "xivlauncher" ]; ] ++ map (name: (writeShellScriptBin name launchffxiv)) [ "ff14" "xivlauncher" ];
}; };
} }

View File

@ -9,6 +9,7 @@
alacritty.enable = true; alacritty.enable = true;
macos.enable = true; macos.enable = true;
sources.enable = true; sources.enable = true;
projects.enable = true;
ssh = { ssh = {
enable = true; enable = true;
homeNetwork = true; homeNetwork = true;

View File

@ -100,7 +100,7 @@
forceFullCompositionPipeline = true; forceFullCompositionPipeline = true;
# Optionally, you may need to select the appropriate driver version for your specific GPU. # Optionally, you may need to select the appropriate driver version for your specific GPU.
package = config.boot.kernelPackages.nvidiaPackages.vulkan_beta; package = config.boot.kernelPackages.nvidiaPackages.beta;
}; };

View File

@ -1,12 +1,21 @@
{ nixpkgs, self, ... }@inputs: { nixpkgs, self, ... }@inputs:
let let
lib = nixpkgs.lib.extend (import ../lib); makePkgs = system: (import nixpkgs {
inherit system;
config.allowUnfree = true;
overlays = [ self.overlays.default ];
});
lib = nixpkgs.lib;
# libExt = import ./. lib;
inherit (inputs.home-manager.lib) homeManagerConfiguration; inherit (inputs.home-manager.lib) homeManagerConfiguration;
inherit (nixpkgs.lib) nixosSystem; inherit (lib) nixosSystem;
inherit (lib.strings) optionalString; inherit (lib.strings) optionalString;
inherit (lib.attrsets) nameValuePair; inherit (lib.attrsets) nameValuePair;
# inherit (libExt) right;
in in
rec { rec {
toPartialNixosConfig = toPartialNixosConfig =
@ -14,8 +23,9 @@ rec {
nameValuePair nameValuePair
hostname hostname
(nixosSystem { (nixosSystem {
inherit system; pkgs = makePkgs system;
specialArgs = { inherit inputs lib self; }; specialArgs = { inherit inputs self; };
modules = [ modules = [
../hosts/${hostname}/hardware-configuration.nix ../hosts/${hostname}/hardware-configuration.nix
../hosts/${hostname}/configuration.nix ../hosts/${hostname}/configuration.nix
@ -24,10 +34,8 @@ rec {
}); });
compileSystems = compileSystems =
systems: systems:
lib.right (builtins.listToAttrs
builtins.listToAttrs (map toPartialNixosConfig systems));
(map toPartialNixosConfig)
systems;
toPartialHomeManagerConfig = toPartialHomeManagerConfig =
{ user, system, hostname ? "", configHostname ? "" }: { user, system, hostname ? "", configHostname ? "" }:
@ -39,11 +47,8 @@ rec {
nameValuePair nameValuePair
"${user}${hostStr}" "${user}${hostStr}"
(homeManagerConfiguration { (homeManagerConfiguration {
pkgs = nixpkgs.legacyPackages.${system}; pkgs = makePkgs system;
extraSpecialArgs = { extraSpecialArgs = { inherit inputs self; };
inherit inputs self;
lib = lib.extend (_: _: inputs.home-manager.lib);
};
modules = [ modules = [
../hosts/${configHost}/home.nix ../hosts/${configHost}/home.nix
@ -51,8 +56,6 @@ rec {
}); });
compileHomes = compileHomes =
systems: systems:
lib.right (builtins.listToAttrs
builtins.listToAttrs (map toPartialHomeManagerConfig systems));
(map toPartialHomeManagerConfig)
systems;
} }

View File

@ -1,5 +1,4 @@
final: prev: lib:
with prev;
rec { rec {
# Ternary operator # Ternary operator
# Exaample: # Exaample:
@ -10,7 +9,7 @@ rec {
# Right-associate and chain following single-operand functions # Right-associate and chain following single-operand functions
# Example: # Example:
# right f g h 1 => f(g(h(1))) # right f g h 1 => f(g(h(1)))
right = f: g: tern (isFunction g) right = f: g: tern (lib.isFunction g)
(right (x: f (g (x)))) (right (x: f (g (x))))
(f (g)); (f (g));
} }

2
lib/overlay.nix Normal file
View File

@ -0,0 +1,2 @@
final: prev:
(import ./. prev)

View File

@ -14,5 +14,5 @@ in
snowhawk.audio.enable = lib.mkDefault true; snowhawk.audio.enable = lib.mkDefault true;
snowhawk.env.enable = lib.mkDefault true; snowhawk.env.enable = lib.mkDefault true;
snowhawk.sops.enable = lib.mkDefault true; snowhawk.sops.enable = lib.mkDefault true;
snowhawk.nixpkgs.enable = lib.mkDefault true; snowhawk.nixpkgs.enable = lib.mkDefault false;
} }

View File

@ -3,6 +3,8 @@ let
callDefaultPackage = path: prev.callPackage path { }; callDefaultPackage = path: prev.callPackage path { };
in in
{ {
# lib = prev.lib.extend import ../lib/overlay.nix;
wrapWine = callDefaultPackage ./wrapWine; wrapWine = callDefaultPackage ./wrapWine;
writeXrandrScriptBin = callDefaultPackage ./writeXrandrScriptBin; writeXrandrScriptBin = callDefaultPackage ./writeXrandrScriptBin;
borderlessBrowser = callDefaultPackage ./borderlessBrowser; borderlessBrowser = callDefaultPackage ./borderlessBrowser;