diff --git a/flake.in.nix b/flake.in.nix index 0e6d978..c425de9 100644 --- a/flake.in.nix +++ b/flake.in.nix @@ -23,6 +23,7 @@ agenix = mkInput "ryantm/agenix"; catppuccin = mkInput "catppuccin/nix"; chaotic = mkInput "chaotic-cx/nyx/nyxpkgs-unstable"; + emacs = mkCustomUrl "git+https://git.pupbrained.xyz/pupbrained/nixmacs.git"; hyprland = mkWithSubmodules "https://github.com/hyprwm/Hyprland"; hyprland-plugins = mkFollowing "hyprwm/hyprland-plugins" "hyprland"; impermanence = mkInput "nix-community/impermanence"; diff --git a/flake.lock b/flake.lock index 71d6614..b551d1e 100644 --- a/flake.lock +++ b/flake.lock @@ -41,11 +41,11 @@ ] }, "locked": { - "lastModified": 1722347739, - "narHash": "sha256-rAoh+K6KG+b1DwSWtqRVocdojnH6nGk6q07mNltoUSM=", + "lastModified": 1723405438, + "narHash": "sha256-bpmC2m7OhlDvqgQZdZ2jBLyeIkq/Jld3X4bqRAxBSp8=", "owner": "hyprwm", "repo": "aquamarine", - "rev": "7c3565f9bedc7cb601cc0baa14792247e4dc1d5a", + "rev": "9312aa28271c91e5d67ecb9def527b2bbcff0e66", "type": "github" }, "original": { @@ -97,11 +97,11 @@ "yafas": "yafas" }, "locked": { - "lastModified": 1723389140, - "narHash": "sha256-CYcXNzK5YMHeSCCproj64kwtonaavbCnDnq6koYXi88=", + "lastModified": 1723489118, + "narHash": "sha256-UCsoBuUTLHcwv4e9RzVZ1yzgQZHFs49yPx4FXuOSR2s=", "owner": "chaotic-cx", "repo": "nyx", - "rev": "a512107512f8d527db7152d48dedd6ebb764f9b9", + "rev": "54148c6f5370689f50a069db3e7497ae4714004a", "type": "github" }, "original": { @@ -113,8 +113,8 @@ }, "codeium": { "inputs": { - "flake-utils": "flake-utils_2", - "nixpkgs": "nixpkgs_6" + "flake-utils": "flake-utils_4", + "nixpkgs": "nixpkgs_9" }, "locked": { "lastModified": 1720551955, @@ -209,6 +209,47 @@ "type": "github" } }, + "emacs": { + "inputs": { + "emacs-overlay": "emacs-overlay", + "flake-utils": "flake-utils_2", + "nixpkgs": "nixpkgs_4", + "treefmt-nix": "treefmt-nix" + }, + "locked": { + "lastModified": 1723525014, + "narHash": "sha256-hW/uF5yIJ0rEDfeZbsY3FX8HS+Nx+FZ+zgzxKPi38mY=", + "ref": "refs/heads/main", + "rev": "40d6599358cd66ee3b7f7b19452e8e2a9d9b2e97", + "revCount": 3, + "type": "git", + "url": "https://git.pupbrained.xyz/pupbrained/nixmacs.git" + }, + "original": { + "type": "git", + "url": "https://git.pupbrained.xyz/pupbrained/nixmacs.git" + } + }, + "emacs-overlay": { + "inputs": { + "flake-utils": "flake-utils", + "nixpkgs": "nixpkgs_3", + "nixpkgs-stable": "nixpkgs-stable" + }, + "locked": { + "lastModified": 1723482913, + "narHash": "sha256-wzIUWp672DHcFYhfKBxzfs4nSlm6W34tOmTOlFwwETE=", + "owner": "nix-community", + "repo": "emacs-overlay", + "rev": "463ee3b4d1c63385c58d7742d33dbe6bdc8fd2a1", + "type": "github" + }, + "original": { + "owner": "nix-community", + "repo": "emacs-overlay", + "type": "github" + } + }, "fenix": { "inputs": { "nixpkgs": [ @@ -218,11 +259,11 @@ "rust-analyzer-src": "rust-analyzer-src" }, "locked": { - "lastModified": 1723357708, - "narHash": "sha256-y0FYxyHd45FQkl1S4PIq9eNaEe2tEemHpQ3sp+C19Pk=", + "lastModified": 1723444276, + "narHash": "sha256-ErWXmB84hedrDmeaHOaFFfNShC21AopTfM4x4rlvk3c=", "owner": "nix-community", "repo": "fenix", - "rev": "344945339ec0e01c62195b849ae8a67eaa1004a3", + "rev": "70c22198ab822aa93c92a7ec0933908b17131edd", "type": "github" }, "original": { @@ -368,12 +409,15 @@ } }, "flake-utils": { + "inputs": { + "systems": "systems_3" + }, "locked": { - "lastModified": 1667395993, - "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", "owner": "numtide", "repo": "flake-utils", - "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", "type": "github" }, "original": { @@ -384,7 +428,7 @@ }, "flake-utils-plus": { "inputs": { - "flake-utils": "flake-utils_5" + "flake-utils": "flake-utils_7" }, "locked": { "lastModified": 1715533576, @@ -403,7 +447,7 @@ }, "flake-utils-plus_2": { "inputs": { - "flake-utils": "flake-utils_6" + "flake-utils": "flake-utils_8" }, "locked": { "lastModified": 1715533576, @@ -422,7 +466,40 @@ }, "flake-utils_2": { "inputs": { - "systems": "systems_5" + "systems": "systems_4" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_3": { + "locked": { + "lastModified": 1667395993, + "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_4": { + "inputs": { + "systems": "systems_7" }, "locked": { "lastModified": 1701680307, @@ -438,43 +515,43 @@ "type": "github" } }, - "flake-utils_3": { - "inputs": { - "systems": "systems_6" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, - "flake-utils_4": { - "inputs": { - "systems": "systems_7" - }, - "locked": { - "lastModified": 1710146030, - "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - }, "flake-utils_5": { + "inputs": { + "systems": "systems_8" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_6": { + "inputs": { + "systems": "systems_9" + }, + "locked": { + "lastModified": 1710146030, + "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", + "owner": "numtide", + "repo": "flake-utils", + "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "flake-utils", + "type": "github" + } + }, + "flake-utils_7": { "locked": { "lastModified": 1644229661, "narHash": "sha256-1YdnJAsNy69bpcjuoKdOYQX0YxZBiCYZo4Twxerqv7k=", @@ -489,9 +566,9 @@ "type": "github" } }, - "flake-utils_6": { + "flake-utils_8": { "inputs": { - "systems": "systems_8" + "systems": "systems_10" }, "locked": { "lastModified": 1694529238, @@ -509,7 +586,7 @@ }, "flakegen": { "inputs": { - "systems": "systems_3" + "systems": "systems_5" }, "locked": { "lastModified": 1707120544, @@ -610,11 +687,11 @@ ] }, "locked": { - "lastModified": 1723015306, - "narHash": "sha256-jQnFEtH20/OsDPpx71ntZzGdRlpXhUENSQCGTjn//NA=", + "lastModified": 1723399884, + "narHash": "sha256-97wn0ihhGqfMb8WcUgzzkM/TuAxce2Gd20A8oiruju4=", "owner": "nix-community", "repo": "home-manager", - "rev": "b3d5ea65d88d67d4ec578ed11d4d2d51e3de525e", + "rev": "086f619dd991a4d355c07837448244029fc2d9ab", "type": "github" }, "original": { @@ -681,11 +758,11 @@ ] }, "locked": { - "lastModified": 1721330371, - "narHash": "sha256-aYlHTWylczLt6ERJyg6E66Y/XSCbVL7leVcRuJmVbpI=", + "lastModified": 1722623071, + "narHash": "sha256-sLADpVgebpCBFXkA1FlCXtvEPu1tdEsTfqK1hfeHySE=", "owner": "hyprwm", "repo": "hyprcursor", - "rev": "4493a972b48f9c3014befbbf381ed5fff91a65dc", + "rev": "912d56025f03d41b1ad29510c423757b4379eb1c", "type": "github" }, "original": { @@ -701,16 +778,16 @@ "hyprlang": "hyprlang", "hyprutils": "hyprutils", "hyprwayland-scanner": "hyprwayland-scanner", - "nixpkgs": "nixpkgs_3", - "systems": "systems_4", + "nixpkgs": "nixpkgs_6", + "systems": "systems_6", "xdph": "xdph" }, "locked": { - "lastModified": 1723405096, - "narHash": "sha256-2C5YJ3lYuRFTixTIfi5XL4IbMaf+bZ/qowyhZ5XKITs=", + "lastModified": 1723488592, + "narHash": "sha256-nPYQrQD8rldLIhrz6px0YHGB4WwIaWLdmBtWsMgLLNI=", "ref": "refs/heads/main", - "rev": "118d4e1001d5847aa42d1e5d5fa9623954ae751d", - "revCount": 5078, + "rev": "77cf651825c2afac69e3a827ff910a62c73e1218", + "revCount": 5083, "submodules": true, "type": "git", "url": "https://github.com/hyprwm/Hyprland" @@ -819,11 +896,11 @@ ] }, "locked": { - "lastModified": 1722098849, - "narHash": "sha256-D3wIZlBNh7LuZ0NaoCpY/Pvu+xHxIVtSN+KkWZYvvVs=", + "lastModified": 1722869141, + "narHash": "sha256-0KU4qhyMp441qfwbirNg3+wbm489KnEjXOz2I/RbeFs=", "owner": "hyprwm", "repo": "hyprutils", - "rev": "5dcbbc1e3de40b2cecfd2007434d86e924468f1f", + "rev": "0252fd13e78e60fb0da512a212e56007515a49f7", "type": "github" }, "original": { @@ -999,7 +1076,7 @@ "flake-compat": "flake-compat", "flake-parts": "flake-parts", "libgit2": "libgit2", - "nixpkgs": "nixpkgs_4", + "nixpkgs": "nixpkgs_7", "nixpkgs-regression": "nixpkgs-regression", "pre-commit-hooks": "pre-commit-hooks" }, @@ -1064,7 +1141,70 @@ "type": "github" } }, + "nixpkgs-stable": { + "locked": { + "lastModified": 1723282977, + "narHash": "sha256-oTK91aOlA/4IsjNAZGMEBz7Sq1zBS0Ltu4/nIQdYDOg=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "a781ff33ae258bbcfd4ed6e673860c3e923bf2cc", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-24.05", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_10": { + "locked": { + "lastModified": 1723421421, + "narHash": "sha256-ohKD5dTOkz2wUa2od3G5COc0iAF2sV4HcNVeoPOfp7U=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "4e7d996aa858660e3261b4834ab00415cfe9b0fe", + "type": "github" + }, + "original": { + "owner": "NixOS", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_11": { + "locked": { + "lastModified": 1723175592, + "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", + "owner": "NixOS", + "repo": "nixpkgs", + "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", + "type": "github" + }, + "original": { + "owner": "NixOS", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_12": { + "locked": { + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, + "nixpkgs_13": { "locked": { "lastModified": 1720957393, "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", @@ -1098,11 +1238,11 @@ }, "nixpkgs_3": { "locked": { - "lastModified": 1722185531, - "narHash": "sha256-veKR07psFoJjINLC8RK4DiLniGGMgF3QMlS4tb74S6k=", + "lastModified": 1723175592, + "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "52ec9ac3b12395ad677e8b62106f0b98c1f8569d", + "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", "type": "github" }, "original": { @@ -1113,22 +1253,6 @@ } }, "nixpkgs_4": { - "locked": { - "lastModified": 1709083642, - "narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "b550fe4b4776908ac2a861124307045f8e717c8e", - "type": "github" - }, - "original": { - "owner": "NixOS", - "ref": "release-23.11", - "repo": "nixpkgs", - "type": "github" - } - }, - "nixpkgs_5": { "locked": { "lastModified": 1723175592, "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", @@ -1144,33 +1268,50 @@ "type": "github" } }, + "nixpkgs_5": { + "locked": { + "lastModified": 1720957393, + "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", + "owner": "nixos", + "repo": "nixpkgs", + "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "type": "github" + }, + "original": { + "owner": "nixos", + "ref": "nixos-unstable", + "repo": "nixpkgs", + "type": "github" + } + }, "nixpkgs_6": { "locked": { - "lastModified": 1702346276, - "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", + "lastModified": 1723175592, + "narHash": "sha256-M0xJ3FbDUc4fRZ84dPGx5VvgFsOzds77KiBMW/mMTnI=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7", + "rev": "5e0ca22929f3342b19569b21b2f3462f053e497b", "type": "github" }, "original": { "owner": "NixOS", - "ref": "nixos-23.11", + "ref": "nixos-unstable", "repo": "nixpkgs", "type": "github" } }, "nixpkgs_7": { "locked": { - "lastModified": 1723421421, - "narHash": "sha256-ohKD5dTOkz2wUa2od3G5COc0iAF2sV4HcNVeoPOfp7U=", + "lastModified": 1709083642, + "narHash": "sha256-7kkJQd4rZ+vFrzWu8sTRtta5D1kBG0LSRYAfhtmMlSo=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "4e7d996aa858660e3261b4834ab00415cfe9b0fe", + "rev": "b550fe4b4776908ac2a861124307045f8e717c8e", "type": "github" }, "original": { "owner": "NixOS", + "ref": "release-23.11", "repo": "nixpkgs", "type": "github" } @@ -1193,16 +1334,16 @@ }, "nixpkgs_9": { "locked": { - "lastModified": 1720957393, - "narHash": "sha256-oedh2RwpjEa+TNxhg5Je9Ch6d3W1NKi7DbRO1ziHemA=", - "owner": "nixos", + "lastModified": 1702346276, + "narHash": "sha256-eAQgwIWApFQ40ipeOjVSoK4TEHVd6nbSd9fApiHIw5A=", + "owner": "NixOS", "repo": "nixpkgs", - "rev": "693bc46d169f5af9c992095736e82c3488bf7dbb", + "rev": "cf28ee258fd5f9a52de6b9865cdb93a1f96d09b7", "type": "github" }, "original": { - "owner": "nixos", - "ref": "nixos-unstable", + "owner": "NixOS", + "ref": "nixos-23.11", "repo": "nixpkgs", "type": "github" } @@ -1210,10 +1351,10 @@ "nixvim": { "inputs": { "codeium": "codeium", - "flake-utils": "flake-utils_3", - "nixpkgs": "nixpkgs_7", + "flake-utils": "flake-utils_5", + "nixpkgs": "nixpkgs_10", "nixvim": "nixvim_2", - "treefmt-nix": "treefmt-nix_2" + "treefmt-nix": "treefmt-nix_3" }, "locked": { "lastModified": 1723434584, @@ -1237,9 +1378,9 @@ "git-hooks": "git-hooks", "home-manager": "home-manager_4", "nix-darwin": "nix-darwin", - "nixpkgs": "nixpkgs_8", + "nixpkgs": "nixpkgs_11", "nuschtosSearch": "nuschtosSearch", - "treefmt-nix": "treefmt-nix" + "treefmt-nix": "treefmt-nix_2" }, "locked": { "lastModified": 1723323133, @@ -1257,7 +1398,7 @@ }, "nuschtosSearch": { "inputs": { - "flake-utils": "flake-utils_4", + "flake-utils": "flake-utils_6", "nixpkgs": [ "nixvim", "nixvim", @@ -1283,7 +1424,7 @@ "flake-compat": [ "nix-super" ], - "flake-utils": "flake-utils", + "flake-utils": "flake-utils_3", "gitignore": [ "nix-super" ], @@ -1316,6 +1457,7 @@ "catppuccin": "catppuccin", "chaotic": "chaotic", "darwin": "darwin_2", + "emacs": "emacs", "flakegen": "flakegen", "home-manager": "home-manager_3", "hyprland": "hyprland", @@ -1324,11 +1466,11 @@ "nix-colors": "nix-colors", "nix-index-database": "nix-index-database", "nix-super": "nix-super", - "nixpkgs": "nixpkgs_5", + "nixpkgs": "nixpkgs_8", "nixvim": "nixvim", "snowfall-flake": "snowfall-flake", "snowfall-lib": "snowfall-lib_2", - "treefmt-nix": "treefmt-nix_3" + "treefmt-nix": "treefmt-nix_4" } }, "rust-analyzer-src": { @@ -1432,6 +1574,21 @@ "type": "github" } }, + "systems_10": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "systems_2": { "locked": { "lastModified": 1689347949, @@ -1464,16 +1621,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" } }, @@ -1494,16 +1651,16 @@ }, "systems_6": { "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" } }, @@ -1537,7 +1694,40 @@ "type": "github" } }, + "systems_9": { + "locked": { + "lastModified": 1681028828, + "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", + "owner": "nix-systems", + "repo": "default", + "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", + "type": "github" + }, + "original": { + "owner": "nix-systems", + "repo": "default", + "type": "github" + } + }, "treefmt-nix": { + "inputs": { + "nixpkgs": "nixpkgs_5" + }, + "locked": { + "lastModified": 1723454642, + "narHash": "sha256-S0Gvsenh0II7EAaoc9158ZB4vYyuycvMGKGxIbERNAM=", + "owner": "numtide", + "repo": "treefmt-nix", + "rev": "349de7bc435bdff37785c2466f054ed1766173be", + "type": "github" + }, + "original": { + "owner": "numtide", + "repo": "treefmt-nix", + "type": "github" + } + }, + "treefmt-nix_2": { "inputs": { "nixpkgs": [ "nixvim", @@ -1559,9 +1749,9 @@ "type": "github" } }, - "treefmt-nix_2": { + "treefmt-nix_3": { "inputs": { - "nixpkgs": "nixpkgs_9" + "nixpkgs": "nixpkgs_12" }, "locked": { "lastModified": 1723402464, @@ -1577,16 +1767,16 @@ "type": "github" } }, - "treefmt-nix_3": { + "treefmt-nix_4": { "inputs": { - "nixpkgs": "nixpkgs_10" + "nixpkgs": "nixpkgs_13" }, "locked": { - "lastModified": 1723402464, - "narHash": "sha256-xjunKUFQs9D7u0TpVoXhrRYb4tbVkutRoFUHj0lEydE=", + "lastModified": 1723454642, + "narHash": "sha256-S0Gvsenh0II7EAaoc9158ZB4vYyuycvMGKGxIbERNAM=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "c9f97032be6816fa234f24803b8ae79dc7753a91", + "rev": "349de7bc435bdff37785c2466f054ed1766173be", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index e4be826..5b10e68 100644 --- a/flake.nix +++ b/flake.nix @@ -1,4 +1,5 @@ # Do not modify! This file is generated. + { inputs = { agenix.url = "github:ryantm/agenix"; @@ -8,6 +9,7 @@ inputs.nixpkgs.follows = "nixpkgs"; url = "github:LnL7/nix-darwin/master"; }; + emacs.url = "git+https://git.pupbrained.xyz/pupbrained/nixmacs.git"; flakegen.url = "github:jorsn/flakegen"; home-manager = { inputs.nixpkgs.follows = "nixpkgs"; @@ -42,4 +44,4 @@ treefmt-nix.url = "github:numtide/treefmt-nix"; }; outputs = inputs: inputs.flakegen ./flake.in.nix inputs; -} +} \ No newline at end of file diff --git a/homes/aarch64-darwin/marshall@canis/default.nix b/homes/aarch64-darwin/marshall@canis/default.nix index 1cd0328..e5a7f2e 100644 --- a/homes/aarch64-darwin/marshall@canis/default.nix +++ b/homes/aarch64-darwin/marshall@canis/default.nix @@ -71,34 +71,6 @@ tealdeer.enable = false; wezterm.extraConfig = builtins.readFile ./wezterm.lua; - emacs.package = with pkgs; - emacs29-pgtk.overrideAttrs (old: { - patches = - (old.patches or []) - ++ [ - # Fix OS window role (needed for window managers like yabai) - (fetchpatch { - url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/fix-window-role.patch"; - sha256 = "0c41rgpi19vr9ai740g09lka3nkjk48ppqyqdnncjrkfgvm2710z"; - }) - # Use poll instead of select to get file descriptors - (fetchpatch { - url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/poll.patch"; - sha256 = "0j26n6yma4n5wh4klikza6bjnzrmz6zihgcsdx36pn3vbfnaqbh5"; - }) - # Enable rounded window with no decoration - (fetchpatch { - url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-29/round-undecorated-frame.patch"; - sha256 = "0x187xvjakm2730d1wcqbz2sny07238mabh5d97fah4qal7zhlbl"; - }) - # Make Emacs aware of OS-level light/dark mode - (fetchpatch { - url = "https://raw.githubusercontent.com/d12frosted/homebrew-emacs-plus/master/patches/emacs-28/system-appearance.patch"; - sha256 = "14ndp2fqqc95s70fwhpxq58y8qqj4gzvvffp77snm2xk76c1bvnn"; - }) - ]; - }); - git = { extraConfig.credential.helper = "osxkeychain"; signing.key = "874E22DF2F9DFCB5"; diff --git a/homes/x86_64-linux/marshall@navis/default.nix b/homes/x86_64-linux/marshall@navis/default.nix index 5c46aba..6bb289f 100644 --- a/homes/x86_64-linux/marshall@navis/default.nix +++ b/homes/x86_64-linux/marshall@navis/default.nix @@ -41,6 +41,7 @@ neovide playerctl prismlauncher + python3 slack telegram-desktop vesktop @@ -139,151 +140,7 @@ programs = { emacs = { enable = true; - package = pkgs.emacs29-pgtk; - - extraPackages = epkgs: - with epkgs; [ - catppuccin-theme - company - dashboard - direnv - doom-modeline - eglot - evil - evil-leader - flycheck - flycheck-inline - nix-mode - treemacs - treemacs-evil - treesit-auto - treesit-grammars.with-all-grammars - tree-sitter-langs - vterm - ]; - - extraConfig = '' - ; Catppuccin theme - (load-theme 'catppuccin :no-confirm) - - ; Doom modeline - (require 'doom-modeline) - (doom-modeline-mode 1) - - ; Set font - (set-frame-font "Maple Mono NF 12" nil t) - - ; Change default indent size to 2 spaces - (setq-default indent-tabs-mode nil) ;; Use spaces instead of tabs - (setq-default standard-indent 2) ;; Change indent - (setq-default tab-width 2) ;; Change tab width - - ; Evil mode - (setq evil-want-C-u-scroll t) - (require 'evil) - (evil-mode 1) - - ;; Treemacs (+ evil mode support) - (require 'treemacs) - (require 'treemacs-evil) ; Optional: if you want Evil keybindings for Treemacs - - ;; Evil leader - (global-evil-leader-mode) - (evil-leader/set-leader "") - (evil-leader/set-key "e" 'treemacs) - - ;; Centered scrolling - (defun my/evil-scroll-up () - "Scroll up half a screen and center the line." - (interactive) - (evil-scroll-up nil) - (recenter)) - - (defun my/evil-scroll-down () - "Scroll down half a screen and center the line." - (interactive) - (evil-scroll-down nil) - (recenter)) - - (define-key evil-normal-state-map (kbd "C-u") 'my/evil-scroll-up) - (define-key evil-normal-state-map (kbd "C-d") 'my/evil-scroll-down) - - ; Disable menubar and toolbar - (menu-bar-mode -1) - (tool-bar-mode -1) - - ; Dashboard - (require 'dashboard) - (dashboard-setup-startup-hook) - (setq dashboard-startup-banner 'logo) - - ; Direnv - (direnv-mode) - - ; Nix setup - (require 'nix-mode) - (add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode)) - - ; Tree-sitter setup - (require 'treesit) - (require 'tree-sitter-langs) - (require 'treesit-auto) - (global-treesit-auto-mode) - - (add-hook 'prog-mode-hook #'tree-sitter-mode) - (add-hook 'prog-mode-hook #'tree-sitter-hl-mode) - - ;; Use Tree-sitter for better syntax highlighting - (dolist (lang treesit-language-source-alist) - (let ((mode (intern (format "%s-ts-mode" (car lang))))) - (when (fboundp mode) - (add-to-list 'major-mode-remap-alist - (cons (intern (car lang)) mode))))) - - ; Eglot setup - (add-hook 'prog-mode-hook 'eglot-ensure) - (add-hook 'nix-mode-hook 'eglot-ensure) - - ;; Function to format the buffer using Eglot - (defun my/eglot-format-buffer-on-save () - "Format the current buffer if Eglot is active." - (when (bound-and-true-p eglot--managed-p) - (eglot-format-buffer))) - - ;; Add the function to the save-hook - (add-hook 'before-save-hook #'my/eglot-format-buffer-on-save) - - ; Flycheck setup - (require 'flycheck) - (global-flycheck-mode) - - ; Flycheck-inline setup - (require 'flycheck-inline) - (add-hook 'flycheck-mode-hook #'flycheck-inline-mode) - - ; Disable Flycheck modeline error messages - (setq-default flycheck-mode-line-prefix "") - (setq-default flycheck-display-errors-function #'flycheck-inline-display-errors) - - ; Company mode setup - (require 'company) - (global-company-mode) ; Enable Company mode globally - - ; Key bindings for company mode - (setq company-idle-delay 0.2) ; Start completion after a short delay - (setq company-minimum-prefix-length 1) ; Start completion after typing 1 character - (setq company-show-numbers t) ; Show numbers for completion candidates - (global-set-key (kbd "M-/") 'company-complete) ; Trigger completion manually with M-/ - - (defun my/compile-and-focus-treemacs () - "Run `compile` and focus on the project root in `Treemacs`." - (interactive) - (let ((default-directory (project-root (project-current t)))) - (compile (read-shell-command "Compile command: " (concat (or compile-command "make") " "))) - (treemacs-select-window))) - - (global-set-key (kbd "C-c C-c") 'my/compile-and-focus-treemacs) - ''; + package = inputs.emacs.packages.${pkgs.system}.default; }; wezterm.extraConfig = builtins.readFile ./wezterm.lua; @@ -300,6 +157,14 @@ }; }; + services.emacs = { + enable = true; + package = inputs.emacs.packages.${pkgs.system}.default; + defaultEditor = true; + socketActivation.enable = true; + client.enable = true; + }; + systemd.user.startServices = "sd-switch"; nix.package = lib.mkForce inputs.nix-super.packages.${pkgs.system}.default; diff --git a/modules/home/emacs/config/init.el b/modules/home/emacs/config/init.el deleted file mode 100644 index 0c9c8b9..0000000 --- a/modules/home/emacs/config/init.el +++ /dev/null @@ -1,199 +0,0 @@ -; Catppuccin theme -(load-theme 'catppuccin :no-confirm) - -; Doom modeline -(require 'doom-modeline) -(doom-modeline-mode 1) - -; Set titlebar -(when (eq system-type 'darwin) (ns-auto-titlebar-mode)) - -; Set font -(set-frame-font "Maple Mono NF 16" nil t) - -; Show line numbers -(add-hook 'prog-mode-hook 'display-line-numbers-mode) -(setq display-line-numbers-type 'relative) - -; Change default indent size to 2 spaces -(setq-default indent-tabs-mode nil) ;; Use spaces instead of tabs -(setq-default standard-indent 2) ;; Change indent -(setq-default tab-width 2) ;; Change tab width - -; Vim-like Scrolling -(setq scroll-step 3) -(setq scroll-margin 3) -(setq scroll-conservatively 9999) - -; Evil mode -(setq evil-want-C-u-scroll t) -(require 'evil) -(evil-mode 1) - -;; Treemacs (+ evil mode support) -(require 'treemacs) -(require 'treemacs-evil) ; Optional: if you want Evil keybindings for Treemacs - -;; Evil leader -(global-evil-leader-mode) -(evil-leader/set-leader "") -(evil-leader/set-key "e" 'treemacs) - -;; Centered scrolling -(defun my/evil-scroll-up () - "Scroll up half a screen and center the line." - (interactive) - (evil-scroll-up nil) - (recenter)) - -(defun my/evil-scroll-down () - "Scroll down half a screen and center the line." - (interactive) - (evil-scroll-down nil) - (recenter)) - -(define-key evil-normal-state-map (kbd "C-u") 'my/evil-scroll-up) -(define-key evil-normal-state-map (kbd "C-d") 'my/evil-scroll-down) - -; Disable unnecessary bars -(menu-bar-mode -1) -(scroll-bar-mode -1) -(tool-bar-mode -1) - -; Dashboard -(require 'dashboard) -(dashboard-setup-startup-hook) -(setq dashboard-startup-banner 'logo) - -; Direnv -(direnv-mode) - -; Nix setup -(require 'nix-mode) -(add-to-list 'auto-mode-alist '("\\.nix\\'" . nix-mode)) -(add-to-list 'interpreter-mode-alist '("nix" . nix-mode)) - -; Lua setup -(require 'lua-mode) -(add-to-list 'auto-mode-alist '("\\.lua$" . lua-mode)) -(add-to-list 'interpreter-mode-alist '("lua" . lua-mode)) - -; Tree-sitter setup -(require 'treesit) -(require 'tree-sitter-langs) -(require 'treesit-auto) -(global-treesit-auto-mode) - -(add-hook 'prog-mode-hook #'tree-sitter-mode) -(add-hook 'prog-mode-hook #'tree-sitter-hl-mode) - -;; Use Tree-sitter for better syntax highlighting -(dolist (lang treesit-language-source-alist) - (let ((mode (intern (format "%s-ts-mode" (car lang))))) - (when (fboundp mode) - (add-to-list 'major-mode-remap-alist - (cons (intern (car lang)) mode))))) - -; Eglot setup -(add-hook 'prog-mode-hook 'eglot-ensure) -(add-hook 'nix-mode-hook 'eglot-ensure) - -;; Function to format the buffer using Eglot -(defun my/eglot-format-buffer-on-save () - "Format the current buffer if Eglot is active." - (when (bound-and-true-p eglot--managed-p) - (eglot-format-buffer))) - -;; Add the function to the save-hook -(add-hook 'before-save-hook #'my/eglot-format-buffer-on-save) - -; Flycheck setup -(require 'flycheck) -(flycheck-mode . sideline-mode) -(require 'sideline-flycheck) -(flycheck-mode . sideline-flycheck-setup) - -; Key bindings for company mode -(setq company-idle-delay 0.2) ; Start completion after a short delay -(setq company-minimum-prefix-length 1) ; Start completion after typing 1 character -(setq company-show-numbers t) ; Show numbers for completion candidates -(global-set-key (kbd "M-/") 'company-complete) ; Trigger completion manually with M-/ - -(defun my/compile-and-focus-treemacs () - "Run `compile` and focus on the project root in `Treemacs`." - (interactive) - (let ((default-directory (project-root (project-current t)))) - (compile (read-shell-command "Compile command: " (concat (or compile-command "make") " "))) - (treemacs-select-window))) - -(global-set-key (kbd "C-c C-c") 'my/compile-and-focus-treemacs) - -; Ligatures -(setq maple-ligatures - '(;; coding ligatures - "==" "===" "!=" "=/=" "!==" ">=" "<=" "<<<" - "->" "=>" "-->" "==>" "<->" "<=>" "<==>" - "->>" "-<<" "=<<" ">>=" ">>-" "<<-" "<-<" - "" "<>" "" "