asahi
This commit is contained in:
parent
122f80c49b
commit
320faef2a6
2
.envrc
2
.envrc
|
@ -1,3 +1 @@
|
|||
watch_file flake.in.nix
|
||||
cp $(nix eval --raw .#nextFlake) flake.nix
|
||||
use_flake
|
||||
|
|
143
flake.in.nix
143
flake.in.nix
|
@ -1,143 +0,0 @@
|
|||
{
|
||||
inputs = let
|
||||
mkCustomUrl = url: {inherit url;};
|
||||
|
||||
mkInput = url: {url = "github:${url}";};
|
||||
|
||||
mkFollowingNixpkgs = url: {
|
||||
url = "github:${url}";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
mkFollowing = url: input: {
|
||||
url = "github:${url}";
|
||||
inputs.${input}.follows = input;
|
||||
};
|
||||
|
||||
mkWithSubmodules = url: {
|
||||
inherit url;
|
||||
submodules = true;
|
||||
type = "git";
|
||||
};
|
||||
in {
|
||||
agenix = mkInput "ryantm/agenix";
|
||||
catppuccin = mkInput "catppuccin/nix";
|
||||
chaotic = mkInput "chaotic-cx/nyx/nyxpkgs-unstable";
|
||||
hyprland = mkWithSubmodules "https://github.com/hyprwm/Hyprland";
|
||||
hyprland-plugins = mkFollowing "hyprwm/hyprland-plugins" "hyprland";
|
||||
impermanence = mkInput "nix-community/impermanence";
|
||||
nix-colors = mkInput "Misterio77/nix-colors";
|
||||
nixpkgs = mkInput "NixOS/nixpkgs/nixos-unstable";
|
||||
nix-super = mkCustomUrl "git+https://git.privatevoid.net/max/nix-super.git";
|
||||
nixvim = mkInput "pupbrained/nixvim";
|
||||
schizofox = mkInput "schizofox/schizofox";
|
||||
sops-nix = mkInput "Mic92/sops-nix";
|
||||
treefmt-nix = mkInput "numtide/treefmt-nix";
|
||||
|
||||
home-manager = mkFollowingNixpkgs "nix-community/home-manager";
|
||||
nix-index-database = mkFollowingNixpkgs "nix-community/nix-index-database";
|
||||
snowfall-flake = mkFollowingNixpkgs "snowfallorg/flake";
|
||||
snowfall-lib = mkFollowingNixpkgs "snowfallorg/lib/dev";
|
||||
};
|
||||
|
||||
outputs = {...} @ inputs:
|
||||
with inputs; let
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
system = "x86_64-linux";
|
||||
in
|
||||
snowfall-lib.mkFlake {
|
||||
inherit inputs;
|
||||
src = ./.;
|
||||
|
||||
formatter.${system} = treefmt-nix.lib.mkWrapper pkgs {
|
||||
projectRootFile = "flake.nix";
|
||||
programs = {
|
||||
alejandra.enable = true;
|
||||
deadnix.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
overlays = [
|
||||
snowfall-flake.overlays.default
|
||||
|
||||
(_final: prev: {
|
||||
nixSuper = nix-super.packages.${system}.default;
|
||||
|
||||
ccacheWrapper = prev.ccacheWrapper.override {
|
||||
extraConfig = ''
|
||||
export CCACHE_COMPRESS=1
|
||||
export CCACHE_DIR="${config.programs.ccache.cacheDir}"
|
||||
export CCACHE_UMASK=007
|
||||
if [ ! -d "$CCACHE_DIR" ]; then
|
||||
echo "====="
|
||||
echo "Directory '$CCACHE_DIR' does not exist"
|
||||
echo "Please create it with:"
|
||||
echo " sudo mkdir -m0770 '$CCACHE_DIR'"
|
||||
echo " sudo chown root:nixbld '$CCACHE_DIR'"
|
||||
echo "====="
|
||||
exit 1
|
||||
fi
|
||||
if [ ! -w "$CCACHE_DIR" ]; then
|
||||
echo "====="
|
||||
echo "Directory '$CCACHE_DIR' is not accessible for user $(whoami)"
|
||||
echo "Please verify its access permissions"
|
||||
echo "====="
|
||||
exit 1
|
||||
fi
|
||||
'';
|
||||
};
|
||||
|
||||
picom = prev.picom.overrideAttrs {
|
||||
src = prev.fetchFromGitHub {
|
||||
owner = "yshui";
|
||||
repo = "picom";
|
||||
rev = "94faacbd4ac917cca5abac3ac5c539f5fe1dc61d";
|
||||
hash = "sha256-KfMy8lV3FMS+AWDozlpPRkXX1eZCWsj39Y5T8q+c9Bs=";
|
||||
fetchSubmodules = true;
|
||||
};
|
||||
};
|
||||
})
|
||||
];
|
||||
|
||||
channels-config = {
|
||||
allowAliases = true;
|
||||
allowUnfree = true;
|
||||
allowUnsupportedSystem = true;
|
||||
cudaSupport = true;
|
||||
permittedInsecurePackages = ["freeimage-unstable-2021-11-01"];
|
||||
home-manager.useGlobalPkgs = true;
|
||||
};
|
||||
|
||||
homes.modules = [
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
chaotic.homeManagerModules.default
|
||||
hyprland.homeManagerModules.default
|
||||
nix-colors.homeManagerModules.default
|
||||
nix-index-database.hmModules.nix-index
|
||||
schizofox.homeManagerModules.default
|
||||
];
|
||||
|
||||
systems.modules.nixos = [
|
||||
agenix.nixosModules.default
|
||||
catppuccin.nixosModules.catppuccin
|
||||
chaotic.nixosModules.default
|
||||
impermanence.nixosModules.impermanence
|
||||
];
|
||||
|
||||
devShells.${system}.default = with pkgs;
|
||||
mkShellNoCC {
|
||||
packages = [
|
||||
alejandra
|
||||
git
|
||||
nvfetcher
|
||||
statix
|
||||
(writeScriptBin "build" ''
|
||||
nix fmt
|
||||
nh os switch . -- --impure
|
||||
nh home switch
|
||||
'')
|
||||
(writeScriptBin "up" "nix flake update")
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
422
flake.lock
422
flake.lock
|
@ -1,23 +1,24 @@
|
|||
{
|
||||
"nodes": {
|
||||
"agenix": {
|
||||
"asahi": {
|
||||
"inputs": {
|
||||
"darwin": "darwin",
|
||||
"home-manager": "home-manager",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems"
|
||||
"flake-compat": "flake-compat",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716561646,
|
||||
"narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=",
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9",
|
||||
"lastModified": 1716699938,
|
||||
"narHash": "sha256-AzTYm22tTDJy0tSqMDf95rmCxxoGTPClu0paGPeh5a0=",
|
||||
"owner": "tpwrules",
|
||||
"repo": "nixos-apple-silicon",
|
||||
"rev": "842306255856d7f5677c113e699101eb253e2e3f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "ryantm",
|
||||
"repo": "agenix",
|
||||
"owner": "tpwrules",
|
||||
"repo": "nixos-apple-silicon",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -92,16 +93,16 @@
|
|||
"conduit": "conduit",
|
||||
"crane": "crane",
|
||||
"fenix": "fenix",
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-schemas": "flake-schemas",
|
||||
"flake-utils": "flake-utils",
|
||||
"home-manager": "home-manager_2",
|
||||
"home-manager": "home-manager",
|
||||
"jovian": "jovian",
|
||||
"jujutsu": "jujutsu",
|
||||
"niri": "niri",
|
||||
"nix-filter": "nix-filter",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"systems": "systems_2",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems",
|
||||
"yafas": "yafas"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -122,7 +123,7 @@
|
|||
"codeium": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": "nixpkgs_6"
|
||||
"nixpkgs": "nixpkgs_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1714765312,
|
||||
|
@ -259,28 +260,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1700795494,
|
||||
"narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"ref": "master",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_5",
|
||||
|
@ -326,6 +305,21 @@
|
|||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1688025799,
|
||||
"narHash": "sha256-ktpB4dRtnksm9F5WawoIkEneh1nrEvuxb5lJFt1iOyw=",
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"rev": "8bf105319d44f6b9f0d764efa4fdef9f1cc9ba1c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
|
@ -340,7 +334,7 @@
|
|||
"url": "https://flakehub.com/f/edolstra/flake-compat/%2A.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake-compat_3": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1673956053,
|
||||
|
@ -356,7 +350,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"flake-compat_4": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
|
@ -370,22 +364,6 @@
|
|||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-compat_4": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_5": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
|
@ -414,12 +392,28 @@
|
|||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"ref": "v1.0.1",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_7": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"ref": "v1.0.1",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_8": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1650374568,
|
||||
|
@ -435,7 +429,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_8": {
|
||||
"flake-compat_9": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1650374568,
|
||||
|
@ -637,7 +631,7 @@
|
|||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
|
@ -655,7 +649,7 @@
|
|||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_6"
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
|
@ -673,7 +667,7 @@
|
|||
},
|
||||
"flake-utils_5": {
|
||||
"inputs": {
|
||||
"systems": "systems_7"
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1701680307,
|
||||
|
@ -706,7 +700,7 @@
|
|||
},
|
||||
"flake-utils_7": {
|
||||
"inputs": {
|
||||
"systems": "systems_9"
|
||||
"systems": "systems_7"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1694529238,
|
||||
|
@ -722,24 +716,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakegen": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1707120544,
|
||||
"narHash": "sha256-pXwH9NLXjhjnaz1n7w5m36gVUZ1GVkvtltsLnvVPFJY=",
|
||||
"owner": "jorsn",
|
||||
"repo": "flakegen",
|
||||
"rev": "8b11749b0724700273462a674dd16e5549fe2790",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "jorsn",
|
||||
"repo": "flakegen",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
|
@ -791,27 +767,6 @@
|
|||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"agenix",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1703113217,
|
||||
"narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
|
@ -832,7 +787,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
|
@ -852,7 +807,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_4": {
|
||||
"home-manager_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
|
@ -874,7 +829,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_5": {
|
||||
"home-manager_4": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"schizofox",
|
||||
|
@ -929,8 +884,8 @@
|
|||
"hyprcursor": "hyprcursor",
|
||||
"hyprlang": "hyprlang",
|
||||
"hyprwayland-scanner": "hyprwayland-scanner",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"systems": "systems_4",
|
||||
"nixpkgs": "nixpkgs_2",
|
||||
"systems": "systems_2",
|
||||
"xdph": "xdph"
|
||||
},
|
||||
"locked": {
|
||||
|
@ -1051,21 +1006,6 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"impermanence": {
|
||||
"locked": {
|
||||
"lastModified": 1708968331,
|
||||
"narHash": "sha256-VUXLaPusCBvwM3zhGbRIJVeYluh2uWuqtj4WirQ1L9Y=",
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"rev": "a33ef102a02ce77d3e39c25197664b7a636f9c30",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "impermanence",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"jovian": {
|
||||
"inputs": {
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
|
@ -1098,7 +1038,7 @@
|
|||
"chaotic",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-overlay": "rust-overlay"
|
||||
"rust-overlay": "rust-overlay_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716773713,
|
||||
|
@ -1285,10 +1225,10 @@
|
|||
},
|
||||
"nix-super": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-parts": "flake-parts",
|
||||
"libgit2": "libgit2",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixpkgs": "nixpkgs_3",
|
||||
"nixpkgs-regression": "nixpkgs-regression",
|
||||
"pre-commit-hooks": "pre-commit-hooks"
|
||||
},
|
||||
|
@ -1334,18 +1274,16 @@
|
|||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1703013332,
|
||||
"narHash": "sha256-+tFNwMvlXLbJZXiMHqYq77z/RfmpfpiI3yjL6o/Zo9M=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "54aac082a4d9bb5bbc5c4e899603abfb76a3f6d6",
|
||||
"type": "github"
|
||||
"lastModified": 1716509168,
|
||||
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
|
||||
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
|
||||
"revCount": 630835,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.630835%2Brev-bfb7a882678e518398ce9a31a881538679f6f092/018fafb0-ec0d-7254-8082-b09ecc86e5fc/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs-lib": {
|
||||
|
@ -1413,55 +1351,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs-stable_2": {
|
||||
"locked": {
|
||||
"lastModified": 1716655032,
|
||||
"narHash": "sha256-kQ25DAiCGigsNR/Quxm3v+JGXAEXZ8I7RAF4U94bGzE=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "59a450646ec8ee0397f5fa54a08573e8240eb91f",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "release-23.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1712791164,
|
||||
"narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_11": {
|
||||
"locked": {
|
||||
"lastModified": 1716651315,
|
||||
"narHash": "sha256-iMgzIeedMqf30TXZ439zW3Yvng1Xm9QTGO+ZwG1IWSw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "c5187508b11177ef4278edf19616f44f21cc8c69",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixpkgs-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_12": {
|
||||
"locked": {
|
||||
"lastModified": 1708475490,
|
||||
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
|
||||
|
@ -1478,20 +1368,6 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1716509168,
|
||||
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
|
||||
"rev": "bfb7a882678e518398ce9a31a881538679f6f092",
|
||||
"revCount": 630835,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/NixOS/nixpkgs/0.1.630835%2Brev-bfb7a882678e518398ce9a31a881538679f6f092/018fafb0-ec0d-7254-8082-b09ecc86e5fc/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/NixOS/nixpkgs/0.1.%2A.tar.gz"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1716330097,
|
||||
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
|
||||
|
@ -1507,7 +1383,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1709083642,
|
||||
"narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=",
|
||||
|
@ -1523,7 +1399,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_5": {
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1716509168,
|
||||
"narHash": "sha256-4zSIhSRRIoEBwjbPm3YiGtbd8HDWzFxJjw5DYSDy1n8=",
|
||||
|
@ -1539,7 +1415,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_6": {
|
||||
"nixpkgs_5": {
|
||||
"locked": {
|
||||
"lastModified": 1702346276,
|
||||
"narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=",
|
||||
|
@ -1555,7 +1431,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_7": {
|
||||
"nixpkgs_6": {
|
||||
"locked": {
|
||||
"lastModified": 1716626504,
|
||||
"narHash": "sha256-/+8auPmHkvTzPVZz8IJDFd4IdatQQ/me+QW8LXsOWFc=",
|
||||
|
@ -1570,7 +1446,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_8": {
|
||||
"nixpkgs_7": {
|
||||
"locked": {
|
||||
"lastModified": 1716330097,
|
||||
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
|
||||
|
@ -1586,7 +1462,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"nixpkgs_8": {
|
||||
"locked": {
|
||||
"lastModified": 1708475490,
|
||||
"narHash": "sha256-g1v0TsWBQPX97ziznfJdWhgMyMGtoBFs102xSYO4syU=",
|
||||
|
@ -1602,11 +1478,27 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_9": {
|
||||
"locked": {
|
||||
"lastModified": 1712791164,
|
||||
"narHash": "sha256-3sbWO1mbpWsLepZGbWaMovSO7ndZeFqDSdX0hZ9nVyw=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "1042fd8b148a9105f3c0aca3a6177fd1d9360ba5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"codeium": "codeium",
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"nixpkgs": "nixpkgs_6",
|
||||
"nixvim": "nixvim_2",
|
||||
"treefmt-nix": "treefmt-nix_2"
|
||||
},
|
||||
|
@ -1627,12 +1519,12 @@
|
|||
"nixvim_2": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-parts": "flake-parts_2",
|
||||
"flake-root": "flake-root",
|
||||
"home-manager": "home-manager_4",
|
||||
"home-manager": "home-manager_3",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": "nixpkgs_8",
|
||||
"nixpkgs": "nixpkgs_7",
|
||||
"pre-commit-hooks": "pre-commit-hooks_2",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
|
@ -1684,7 +1576,7 @@
|
|||
},
|
||||
"pre-commit-hooks_2": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_4",
|
||||
"flake-compat": "flake-compat_5",
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
|
@ -1730,23 +1622,20 @@
|
|||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"agenix": "agenix",
|
||||
"asahi": "asahi",
|
||||
"catppuccin": "catppuccin",
|
||||
"chaotic": "chaotic",
|
||||
"flakegen": "flakegen",
|
||||
"home-manager": "home-manager_3",
|
||||
"home-manager": "home-manager_2",
|
||||
"hyprland": "hyprland",
|
||||
"hyprland-plugins": "hyprland-plugins",
|
||||
"impermanence": "impermanence",
|
||||
"nix-colors": "nix-colors",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nix-super": "nix-super",
|
||||
"nixpkgs": "nixpkgs_5",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixvim": "nixvim",
|
||||
"schizofox": "schizofox",
|
||||
"snowfall-flake": "snowfall-flake",
|
||||
"snowfall-lib": "snowfall-lib_2",
|
||||
"sops-nix": "sops-nix",
|
||||
"treefmt-nix": "treefmt-nix_3"
|
||||
}
|
||||
},
|
||||
|
@ -1768,6 +1657,22 @@
|
|||
}
|
||||
},
|
||||
"rust-overlay": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1686795910,
|
||||
"narHash": "sha256-jDa40qRZ0GRQtP9EMZdf+uCbvzuLnJglTUI2JoHfWDc=",
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"rev": "5c2b97c0a9bc5217fc3dfb1555aae0fb756d99f9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "oxalica",
|
||||
"repo": "rust-overlay",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"rust-overlay_2": {
|
||||
"inputs": {
|
||||
"flake-utils": [
|
||||
"chaotic",
|
||||
|
@ -1796,13 +1701,13 @@
|
|||
},
|
||||
"schizofox": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_5",
|
||||
"flake-compat": "flake-compat_6",
|
||||
"flake-parts": "flake-parts_3",
|
||||
"home-manager": "home-manager_5",
|
||||
"home-manager": "home-manager_4",
|
||||
"nixpak": "nixpak",
|
||||
"nixpkgs": "nixpkgs_10",
|
||||
"nixpkgs": "nixpkgs_9",
|
||||
"searx-randomizer": "searx-randomizer",
|
||||
"systems": "systems_8"
|
||||
"systems": "systems_6"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1714677453,
|
||||
|
@ -1843,7 +1748,7 @@
|
|||
},
|
||||
"snowfall-flake": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_6",
|
||||
"flake-compat": "flake-compat_7",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
|
@ -1865,7 +1770,7 @@
|
|||
},
|
||||
"snowfall-lib": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_7",
|
||||
"flake-compat": "flake-compat_8",
|
||||
"flake-utils-plus": "flake-utils-plus",
|
||||
"nixpkgs": [
|
||||
"snowfall-flake",
|
||||
|
@ -1889,7 +1794,7 @@
|
|||
},
|
||||
"snowfall-lib_2": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_8",
|
||||
"flake-compat": "flake-compat_9",
|
||||
"flake-utils-plus": "flake-utils-plus_2",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
|
@ -1910,37 +1815,18 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"sops-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_11",
|
||||
"nixpkgs-stable": "nixpkgs-stable_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1716692524,
|
||||
"narHash": "sha256-sALodaA7Zkp/JD6ehgwc0UCBrSBfB4cX66uFGTsqeFU=",
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"rev": "962797a8d7f15ed7033031731d0bb77244839960",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "sops-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -1976,16 +1862,16 @@
|
|||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
|
@ -2005,36 +1891,6 @@
|
|||
}
|
||||
},
|
||||
"systems_6": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_7": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_8": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
|
@ -2049,7 +1905,7 @@
|
|||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_9": {
|
||||
"systems_7": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
|
@ -2088,7 +1944,7 @@
|
|||
},
|
||||
"treefmt-nix_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_9"
|
||||
"nixpkgs": "nixpkgs_8"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715940852,
|
||||
|
@ -2106,7 +1962,7 @@
|
|||
},
|
||||
"treefmt-nix_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_12"
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1715940852,
|
||||
|
|
107
flake.nix
107
flake.nix
|
@ -1,34 +1,40 @@
|
|||
# Do not modify! This file is generated.
|
||||
|
||||
{
|
||||
inputs = {
|
||||
agenix.url = "github:ryantm/agenix";
|
||||
catppuccin.url = "github:catppuccin/nix";
|
||||
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||
flakegen.url = "github:jorsn/flakegen";
|
||||
nix-colors.url = "github:Misterio77/nix-colors";
|
||||
nix-super.url = "git+https://git.privatevoid.net/max/nix-super.git";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixvim.url = "github:pupbrained/nixvim";
|
||||
schizofox.url = "github:schizofox/schizofox";
|
||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||
|
||||
asahi = {
|
||||
url = "github:tpwrules/nixos-apple-silicon";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
home-manager = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/home-manager";
|
||||
};
|
||||
|
||||
hyprland = {
|
||||
submodules = true;
|
||||
type = "git";
|
||||
url = "https://github.com/hyprwm/Hyprland";
|
||||
};
|
||||
|
||||
hyprland-plugins = {
|
||||
inputs.hyprland.follows = "hyprland";
|
||||
url = "github:hyprwm/hyprland-plugins";
|
||||
};
|
||||
impermanence.url = "github:nix-community/impermanence";
|
||||
nix-colors.url = "github:Misterio77/nix-colors";
|
||||
|
||||
nix-index-database = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:nix-community/nix-index-database";
|
||||
};
|
||||
nix-super.url = "git+https://git.privatevoid.net/max/nix-super.git";
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixvim.url = "github:pupbrained/nixvim";
|
||||
schizofox.url = "github:schizofox/schizofox";
|
||||
|
||||
snowfall-flake = {
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:snowfallorg/flake";
|
||||
|
@ -37,8 +43,83 @@
|
|||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
url = "github:snowfallorg/lib/dev";
|
||||
};
|
||||
sops-nix.url = "github:Mic92/sops-nix";
|
||||
treefmt-nix.url = "github:numtide/treefmt-nix";
|
||||
};
|
||||
outputs = inputs: inputs.flakegen ./flake.in.nix inputs;
|
||||
|
||||
outputs = {
|
||||
asahi,
|
||||
catppuccin,
|
||||
chaotic,
|
||||
hyprland,
|
||||
nix-colors,
|
||||
nixpkgs,
|
||||
nix-super,
|
||||
schizofox,
|
||||
nix-index-database,
|
||||
treefmt-nix,
|
||||
snowfall-lib,
|
||||
snowfall-flake,
|
||||
...
|
||||
} @ inputs: let
|
||||
pkgs = import nixpkgs {inherit system;};
|
||||
system = "aarch64-linux";
|
||||
in
|
||||
snowfall-lib.mkFlake {
|
||||
inherit inputs;
|
||||
|
||||
src = ./.;
|
||||
|
||||
formatter.${system} = treefmt-nix.lib.mkWrapper pkgs {
|
||||
projectRootFile = "flake.nix";
|
||||
programs = {
|
||||
alejandra.enable = true;
|
||||
deadnix.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
overlays = [
|
||||
snowfall-flake.overlays.default
|
||||
|
||||
(_final: _prev: {
|
||||
nixSuper = nix-super.packages.${system}.default;
|
||||
})
|
||||
];
|
||||
|
||||
channels-config = {
|
||||
allowAliases = true;
|
||||
allowUnfree = true;
|
||||
home-manager.useGlobalPkgs = true;
|
||||
};
|
||||
|
||||
homes.modules = [
|
||||
catppuccin.homeManagerModules.catppuccin
|
||||
chaotic.homeManagerModules.default
|
||||
hyprland.homeManagerModules.default
|
||||
nix-colors.homeManagerModules.default
|
||||
nix-index-database.hmModules.nix-index
|
||||
schizofox.homeManagerModules.default
|
||||
];
|
||||
|
||||
systems.modules.nixos = [
|
||||
asahi.nixosModules.apple-silicon-support
|
||||
catppuccin.nixosModules.catppuccin
|
||||
chaotic.nixosModules.default
|
||||
];
|
||||
|
||||
devShells.${system}.default = with pkgs;
|
||||
mkShellNoCC {
|
||||
packages = [
|
||||
alejandra
|
||||
git
|
||||
nh
|
||||
nvfetcher
|
||||
statix
|
||||
(writeScriptBin "build" ''
|
||||
nix fmt
|
||||
nh os switch . -- --impure
|
||||
nh home switch
|
||||
'')
|
||||
(writeScriptBin "up" "nix flake update")
|
||||
];
|
||||
};
|
||||
};
|
||||
}
|
|
@ -9,30 +9,26 @@
|
|||
home = {
|
||||
packages = with pkgs;
|
||||
[
|
||||
distrobox
|
||||
duf
|
||||
eternal-terminal
|
||||
firefox
|
||||
grc
|
||||
iamb
|
||||
jamesdsp
|
||||
jetbrains-toolbox
|
||||
killall
|
||||
libnotify
|
||||
lm_sensors
|
||||
loupe
|
||||
mpv
|
||||
ollama
|
||||
playerctl
|
||||
prismlauncher
|
||||
telegram-desktop
|
||||
vesktop
|
||||
youki
|
||||
jetbrains.clion
|
||||
]
|
||||
++ (with inputs; [
|
||||
nixvim.packages.${pkgs.system}.default
|
||||
])
|
||||
++ (with inputs.chaotic.packages.${pkgs.system}; [
|
||||
distrobox_git
|
||||
firefox_nightly
|
||||
]);
|
||||
|
||||
pointerCursor = {
|
|
@ -48,17 +48,15 @@ in
|
|||
layer = "top";
|
||||
position = "top";
|
||||
|
||||
modules-center = ["hyprland/workspaces"];
|
||||
|
||||
modules-left = [
|
||||
"custom/startmenu"
|
||||
"hyprland/workspaces"
|
||||
"hyprland/window"
|
||||
"pulseaudio"
|
||||
"cpu"
|
||||
"memory"
|
||||
];
|
||||
|
||||
modules-right = [
|
||||
"battery"
|
||||
"network"
|
||||
"custom/notification"
|
||||
"tray"
|
||||
|
@ -107,6 +105,11 @@ in
|
|||
tooltip = true;
|
||||
};
|
||||
|
||||
"battery" = {
|
||||
format = " {}%";
|
||||
tooltip = true;
|
||||
};
|
||||
|
||||
"network" = {
|
||||
format-icons = [
|
||||
""
|
||||
|
@ -275,7 +278,7 @@ in
|
|||
padding: 0px 30px 0px 15px;
|
||||
}
|
||||
|
||||
#network, #custom-notification, #tray {
|
||||
#battery, #network, #custom-notification, #tray {
|
||||
background: #${palette.base01};
|
||||
border-radius: 10px 24px 10px 24px;
|
||||
color: #${palette.base05};
|
||||
|
@ -300,17 +303,13 @@ in
|
|||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
udiskie.enable = true;
|
||||
|
||||
swaync = {
|
||||
services.swaync = {
|
||||
enable = true;
|
||||
style = builtins.fetchurl {
|
||||
url = "https://github.com/catppuccin/swaync/releases/download/v0.2.3/mocha.css";
|
||||
sha256 = "1xr1wkg4zb467b35xhsfqiwhimfnn88i3ml5rf173rkm7fyby9qy";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
wayland.windowManager.hyprland = {
|
||||
enable = true;
|
||||
|
@ -321,7 +320,7 @@ in
|
|||
modC = "SUPER CTRL";
|
||||
modS = "SUPER SHIFT";
|
||||
|
||||
browser = "firefox-nightly";
|
||||
browser = "firefox";
|
||||
colorPicker = "notify-send -i gtk-color-picker $(${hyprpicker}/bin/hyprpicker -a) 'Copied to clipboard.'";
|
||||
fileManager = "nautilus";
|
||||
launcher = "rofi -show drun";
|
||||
|
@ -343,6 +342,7 @@ in
|
|||
dwindle.preserve_split = true;
|
||||
gestures.workspace_swipe = true;
|
||||
input.touchpad.natural_scroll = true;
|
||||
xwayland.force_zero_scaling = true;
|
||||
|
||||
layerrule = [
|
||||
"dimaround, rofi"
|
||||
|
@ -375,8 +375,7 @@ in
|
|||
|
||||
exec-once = [
|
||||
"waybar"
|
||||
"${mpvpaper}/bin/mpvpaper -vp -o 'no-audio loop' DP-1 ${builtins.toString ./wall.mp4}"
|
||||
"mullvad connect"
|
||||
"${mpvpaper}/bin/mpvpaper -vp -o 'no-audio loop panscan=1.0' eDP-1 ${builtins.toString ./wall.mp4}"
|
||||
];
|
||||
|
||||
misc = {
|
||||
|
@ -385,20 +384,7 @@ in
|
|||
};
|
||||
|
||||
monitor = [
|
||||
"eDP-1, disable"
|
||||
"DP-1, 2560x1440@165, auto, auto"
|
||||
];
|
||||
|
||||
env = [
|
||||
# Nvidia stuff
|
||||
"GBM_BACKEND, nvidia-drm"
|
||||
"__GLX_VENDOR_LIBRARY_NAME, nvidia"
|
||||
"LIBVA_DRIVER_NAME, nvidia"
|
||||
"WLR_DRM_DEVICES, $HOME/.config/hypr/card"
|
||||
|
||||
# Cursors
|
||||
"HYPRCURSOR_SIZE, 24"
|
||||
"XCURSOR_SIZE, 24"
|
||||
"eDP-1, 2560x1664@60, auto, 1.6"
|
||||
];
|
||||
|
||||
bindm = [
|
||||
|
|
|
@ -17,7 +17,7 @@ with pkgs; {
|
|||
|
||||
signing = {
|
||||
signByDefault = true;
|
||||
key = "0FF5B8826803F895";
|
||||
key = "EF82E8CA83FF158C";
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
@ -95,7 +95,7 @@
|
|||
enable_kitty_graphics = true,
|
||||
enable_scroll_bar = false,
|
||||
enable_wayland = false,
|
||||
font_size = 12,
|
||||
font_size = 18,
|
||||
font = wezterm.font('Maple Mono NF'),
|
||||
keys = keybinds,
|
||||
front_end = 'OpenGL',
|
||||
|
|
|
@ -46,111 +46,43 @@ with lib // pkgs // inputs; {
|
|||
DefaultEnvironment="PATH=${path}"
|
||||
'';
|
||||
|
||||
age = {
|
||||
secrets.passwd.file = /etc/secrets/passwd.age;
|
||||
identityPaths = ["/persist/root/.ssh/id_ed25519"];
|
||||
};
|
||||
|
||||
chaotic = {
|
||||
scx = {
|
||||
enable = true;
|
||||
scheduler = "scx_rusty";
|
||||
};
|
||||
|
||||
steam.extraCompatPackages = [
|
||||
luxtorpeda
|
||||
proton-ge-custom
|
||||
];
|
||||
};
|
||||
|
||||
virtualisation = {
|
||||
spiceUSBRedirection.enable = true;
|
||||
|
||||
libvirtd = {
|
||||
enable = true;
|
||||
qemu = {
|
||||
package = qemu_kvm;
|
||||
swtpm.enable = true;
|
||||
ovmf.enable = true;
|
||||
ovmf.packages = [OVMFFull.fd];
|
||||
};
|
||||
};
|
||||
|
||||
podman = {
|
||||
virtualisation.podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
dockerSocket.enable = true;
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
sessionVariables = {
|
||||
BROWSER = "firefox-nightly";
|
||||
BROWSER = "firefox";
|
||||
EDITOR = "nvim";
|
||||
TERMINAL = "wezterm";
|
||||
DIRENV_WARN_TIMEOUT = "100s";
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
|
||||
systemPackages = [
|
||||
agenix.packages.${system}.default
|
||||
gnome.nautilus
|
||||
internal.lightly-boehs-qt6
|
||||
snowfallorg.flake
|
||||
sound-theme-freedesktop
|
||||
winetricks
|
||||
wineWowPackages.staging
|
||||
xclip
|
||||
yt-dlp
|
||||
];
|
||||
|
||||
persistence."/persist" = {
|
||||
hideMounts = true;
|
||||
directories = [
|
||||
"/etc/NetworkManager"
|
||||
"/etc/secrets"
|
||||
"/etc/ssh"
|
||||
"/etc/mullvad-vpn"
|
||||
"/root/.ssh"
|
||||
"/var/lib/bluetooth"
|
||||
"/var/lib/nixos"
|
||||
"/var/lib/systemd/coredump"
|
||||
];
|
||||
files = ["/etc/machine-id"];
|
||||
};
|
||||
};
|
||||
|
||||
boot = {
|
||||
blacklistedKernelModules = ["nouveau"];
|
||||
kernelPackages = linuxPackages_cachyos;
|
||||
supportedFilesystems = ["btrfs" "ntfs"];
|
||||
|
||||
initrd.systemd = {
|
||||
enable = true;
|
||||
emergencyAccess = true; # No password needed because of LUKS
|
||||
};
|
||||
|
||||
plymouth = {
|
||||
enable = true;
|
||||
catppuccin.enable = true;
|
||||
};
|
||||
|
||||
extraModprobeConfig =
|
||||
"options nvidia "
|
||||
+ concatStringsSep " " [
|
||||
"NVreg_UsePageAttributeTable=1"
|
||||
"NVreg_EnablePCIeGen3=1"
|
||||
"NVreg_RegistryDwords=RMUseSwI2c=0x01;RMI2cSpeed=100"
|
||||
];
|
||||
|
||||
kernelParams = [
|
||||
"intel_iommu=on"
|
||||
"iommu=pt"
|
||||
"kvm.ignore_msrs=1"
|
||||
"modprobe.blacklist=nouveau"
|
||||
];
|
||||
extraModprobeConfig = "options apple_dcp show_notch=1";
|
||||
|
||||
loader = {
|
||||
efi.canTouchEfiVariables = true;
|
||||
efi.canTouchEfiVariables = false;
|
||||
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
|
@ -205,8 +137,6 @@ with lib // pkgs // inputs; {
|
|||
min-free = "${toString (5 * 1024 * 1024 * 1024)}";
|
||||
max-free = "${toString (10 * 1024 * 1024 * 1024)}";
|
||||
|
||||
extra-sandbox-paths = [config.programs.ccache.cacheDir];
|
||||
|
||||
extra-experimental-features = [
|
||||
"flakes" # flakes
|
||||
"nix-command" # experimental nix commands
|
||||
|
@ -238,13 +168,11 @@ with lib // pkgs // inputs; {
|
|||
};
|
||||
|
||||
programs = {
|
||||
ccache.enable = true;
|
||||
dconf.enable = true;
|
||||
fish.enable = true;
|
||||
gamemode.enable = true;
|
||||
steam.enable = true;
|
||||
steam.enable = false;
|
||||
gnupg.agent.enable = true;
|
||||
virt-manager.enable = true;
|
||||
|
||||
hyprland = {
|
||||
enable = true;
|
||||
|
@ -253,19 +181,18 @@ with lib // pkgs // inputs; {
|
|||
|
||||
nh = {
|
||||
enable = true;
|
||||
clean.enable = true;
|
||||
clean.extraArgs = "--keep-since 4d --keep 3";
|
||||
flake = "/home/marshall/nix-config";
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
useDHCP = mkDefault true;
|
||||
hostName = "navis";
|
||||
firewall.enable = false;
|
||||
nameservers = ["1.1.1.1" "1.0.0.1"];
|
||||
networkmanager.dns = "none";
|
||||
networkmanager.enable = true;
|
||||
wireless.iwd = {
|
||||
enable = true;
|
||||
settings.General.EnableNetworkConfiguration = true;
|
||||
};
|
||||
};
|
||||
|
||||
time.timeZone = "America/New_York";
|
||||
|
@ -275,11 +202,7 @@ with lib // pkgs // inputs; {
|
|||
flatpak.enable = true;
|
||||
getty.autologinUser = "marshall";
|
||||
gnome.gnome-keyring.enable = true;
|
||||
mullvad-vpn.enable = true;
|
||||
ollama.enable = true;
|
||||
openssh.enable = true;
|
||||
spice-vdagentd.enable = true;
|
||||
udisks2.enable = true;
|
||||
|
||||
greetd = {
|
||||
enable = true;
|
||||
|
@ -300,7 +223,6 @@ with lib // pkgs // inputs; {
|
|||
|
||||
xserver = {
|
||||
enable = true;
|
||||
videoDrivers = ["nvidia"];
|
||||
};
|
||||
|
||||
pipewire = {
|
||||
|
@ -312,43 +234,25 @@ with lib // pkgs // inputs; {
|
|||
};
|
||||
|
||||
users = {
|
||||
mutableUsers = false;
|
||||
|
||||
users.marshall = {
|
||||
isNormalUser = true;
|
||||
extraGroups = ["wheel" "gamemode" "libvirtd" "networkmanager"];
|
||||
shell = fish;
|
||||
hashedPasswordFile = config.age.secrets.passwd.path;
|
||||
};
|
||||
};
|
||||
|
||||
hardware = {
|
||||
asahi = {
|
||||
peripheralFirmwareDirectory = ./firmware;
|
||||
useExperimentalGPUDriver = true;
|
||||
};
|
||||
|
||||
bluetooth.enable = true;
|
||||
i2c.enable = true;
|
||||
|
||||
opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
extraPackages = [
|
||||
vaapiVdpau
|
||||
nvidia-vaapi-driver
|
||||
];
|
||||
};
|
||||
|
||||
nvidia-container-toolkit.enable = true;
|
||||
|
||||
nvidia = {
|
||||
package = config.boot.kernelPackages.nvidiaPackages.beta;
|
||||
modesetting.enable = true;
|
||||
powerManagement.enable = true;
|
||||
|
||||
prime = {
|
||||
sync.enable = true;
|
||||
|
||||
intelBusId = "PCI:0:2:0";
|
||||
nvidiaBusId = "PCI:1:0:0";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
BIN
systems/aarch64-linux/canis-nixos/firmware/all_firmware.tar.gz
Executable file
BIN
systems/aarch64-linux/canis-nixos/firmware/all_firmware.tar.gz
Executable file
Binary file not shown.
BIN
systems/aarch64-linux/canis-nixos/firmware/kernelcache.release.mac14g
Executable file
BIN
systems/aarch64-linux/canis-nixos/firmware/kernelcache.release.mac14g
Executable file
Binary file not shown.
54
systems/aarch64-linux/canis-nixos/hardware.nix
Normal file
54
systems/aarch64-linux/canis-nixos/hardware.nix
Normal file
|
@ -0,0 +1,54 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
lib,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
powerManagement.cpuFreqGovernor = "conservative";
|
||||
|
||||
boot.initrd.availableKernelModules = ["usb_storage"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = [];
|
||||
boot.extraModulePackages = [];
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/bc2d65bb-2316-404d-aff4-cba0cca8f6b5";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=root"];
|
||||
};
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/bc2d65bb-2316-404d-aff4-cba0cca8f6b5";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=home"];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/bc2d65bb-2316-404d-aff4-cba0cca8f6b5";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=nix"];
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/23FC-1D19";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices = [];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlan0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "aarch64-linux";
|
||||
}
|
|
@ -1,96 +0,0 @@
|
|||
# Do not modify this file! It was generated by ‘nixos-generate-config’
|
||||
# and may be overwritten by future invocations. Please make changes
|
||||
# to /etc/nixos/configuration.nix instead.
|
||||
{
|
||||
config,
|
||||
lib,
|
||||
modulesPath,
|
||||
...
|
||||
}: {
|
||||
imports = [
|
||||
(modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = ["xhci_pci" "nvme" "usbhid" "usb_storage" "sd_mod"];
|
||||
boot.initrd.kernelModules = [];
|
||||
boot.kernelModules = ["kvm-intel"];
|
||||
boot.extraModulePackages = [];
|
||||
boot.tmp.useTmpfs = true;
|
||||
|
||||
fileSystems."/" = {
|
||||
device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=root"];
|
||||
};
|
||||
|
||||
boot.initrd.systemd.services.wipe-root = {
|
||||
requires = ["dev-mapper-enc.device"];
|
||||
after = ["dev-mapper-enc.device"];
|
||||
wantedBy = ["initrd.target"];
|
||||
script = lib.mkAfter ''
|
||||
mkdir /btrfs_tmp
|
||||
mount /dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b /btrfs_tmp
|
||||
if [[ -e /btrfs_tmp/root ]]; then
|
||||
mkdir -p /btrfs_tmp/old_roots
|
||||
timestamp=$(date --date="@$(stat -c %Y /btrfs_tmp/root)" "+%Y-%m-%-d_%H:%M:%S")
|
||||
mv /btrfs_tmp/root "/btrfs_tmp/old_roots/$timestamp"
|
||||
fi
|
||||
|
||||
delete_subvolume_recursively() {
|
||||
IFS=$'\n'
|
||||
for i in $(btrfs subvolume list -o "$1" | cut -f 9- -d ' '); do
|
||||
delete_subvolume_recursively "/btrfs_tmp/$i"
|
||||
done
|
||||
btrfs subvolume delete "$1"
|
||||
}
|
||||
|
||||
for i in $(find /btrfs_tmp/old_roots/ -maxdepth 1 -mtime +30); do
|
||||
delete_subvolume_recursively "$i"
|
||||
done
|
||||
|
||||
btrfs subvolume create /btrfs_tmp/root
|
||||
umount /btrfs_tmp
|
||||
'';
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/9952fcd1-46eb-4c9c-ab7d-361d31fdb9a2";
|
||||
|
||||
fileSystems."/home" = {
|
||||
device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=home" "compress=zstd"];
|
||||
};
|
||||
|
||||
fileSystems."/nix" = {
|
||||
device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=nix" "compress=zstd" "noatime"];
|
||||
};
|
||||
|
||||
fileSystems."/persist" = {
|
||||
device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b";
|
||||
neededForBoot = true;
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=persist" "compress=zstd"];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" = {
|
||||
device = "/dev/disk/by-uuid/d375c3a3-63a3-47f8-8b77-58fabbb8f67b";
|
||||
fsType = "btrfs";
|
||||
options = ["subvol=log" "compress=zstd" "noatime"];
|
||||
neededForBoot = true;
|
||||
};
|
||||
|
||||
fileSystems."/boot" = {
|
||||
device = "/dev/disk/by-uuid/12CE-A600";
|
||||
fsType = "vfat";
|
||||
options = ["fmask=0022" "dmask=0022"];
|
||||
};
|
||||
|
||||
swapDevices = [];
|
||||
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
Loading…
Reference in a new issue