Compare commits

..

No commits in common. "b606eb4b447e179bd48a476478594cb89149b1b0" and "d90290398493b1f8b54eaf76617897c08655059e" have entirely different histories.

54 changed files with 553 additions and 142 deletions

View file

@ -166,6 +166,47 @@
"type": "github" "type": "github"
} }
}, },
"emacs": {
"inputs": {
"emacs-overlay": "emacs-overlay",
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs_2",
"pre-commit-hooks": "pre-commit-hooks"
},
"locked": {
"lastModified": 1676394233,
"narHash": "sha256-RHO/MgRyFqgmIgogrL5LBmBhAt8hTpUJJ6Dww46GyZI=",
"ref": "main",
"rev": "6fb9f917901160b2b212f420a8a8e4995c823626",
"revCount": 98,
"type": "git",
"url": "ssh://git@gitea.moritzboeh.me/moritz/emacs.git"
},
"original": {
"ref": "main",
"type": "git",
"url": "ssh://git@gitea.moritzboeh.me/moritz/emacs.git"
}
},
"emacs-overlay": {
"inputs": {
"flake-utils": "flake-utils",
"nixpkgs": "nixpkgs"
},
"locked": {
"lastModified": 1676025076,
"narHash": "sha256-sdYhoZsLLwRXZebP6DYfIgQRjFA+itdNXaPuCWfJYkk=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "581072bb0d49768da9370056f7b6e7b761b5d8be",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"flake-compat": { "flake-compat": {
"flake": false, "flake": false,
"locked": { "locked": {
@ -198,16 +239,29 @@
"type": "github" "type": "github"
} }
}, },
"flake-utils": { "flake-compat_3": {
"inputs": { "flake": false,
"systems": "systems"
},
"locked": { "locked": {
"lastModified": 1681037374, "lastModified": 1673956053,
"narHash": "sha256-XL6X3VGbEFJZDUouv2xpKg2Aljzu/etPLv5e1FPt1q0=", "narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"locked": {
"lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
"owner": "numtide", "owner": "numtide",
"repo": "flake-utils", "repo": "flake-utils",
"rev": "033b9f258ca96a10e543d4442071f614dc3f8412", "rev": "5aed5285a952e0b949eb3ba02c12fa4fcfef535f",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -232,6 +286,54 @@
} }
}, },
"flake-utils_3": { "flake-utils_3": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1681037374,
"narHash": "sha256-XL6X3VGbEFJZDUouv2xpKg2Aljzu/etPLv5e1FPt1q0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "033b9f258ca96a10e543d4442071f614dc3f8412",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"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"
}
},
"flake-utils_5": {
"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_6": {
"locked": { "locked": {
"lastModified": 1667395993, "lastModified": 1667395993,
"narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=", "narHash": "sha256-nuEHfE/LcWyuSWnS8t12N1wc105Qtau+/OdUAjtQ0rA=",
@ -249,6 +351,7 @@
"gitignore": { "gitignore": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
"emacs",
"pre-commit-hooks", "pre-commit-hooks",
"nixpkgs" "nixpkgs"
] ]
@ -267,19 +370,24 @@
"type": "github" "type": "github"
} }
}, },
"gitignore-nvim": { "gitignore_2": {
"flake": false, "inputs": {
"nixpkgs": [
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": { "locked": {
"lastModified": 1680653909, "lastModified": 1660459072,
"narHash": "sha256-H6IXZTskIAOmp3U57NIT4Of45xXqrX/6VRm1s28S89Y=", "narHash": "sha256-8DFJjXG8zqoONA1vXtgeKXy68KdJL5UaXR8NtVMUbx8=",
"owner": "wintermute-cell", "owner": "hercules-ci",
"repo": "gitignore.nvim", "repo": "gitignore.nix",
"rev": "b61e4a50b78f9a3702a4ed168ab6c9ceba5f6299", "rev": "a20de23b925fd8264fd7fad6454652e142fd7f73",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "wintermute-cell", "owner": "hercules-ci",
"repo": "gitignore.nvim", "repo": "gitignore.nix",
"type": "github" "type": "github"
} }
}, },
@ -306,9 +414,31 @@
"type": "github" "type": "github"
} }
}, },
"howdy": {
"inputs": {
"flake-utils": "flake-utils_4",
"nixpkgs": [
"nixpkgs"
],
"pre-commit-hooks": "pre-commit-hooks_2"
},
"locked": {
"lastModified": 1665343480,
"narHash": "sha256-mMaZFrDDiBcHDe8+lA87P3iMPea+RGfik5/E4Dyzk8U=",
"owner": "~moritzboehme",
"repo": "howdy",
"rev": "24a7cfb8c2fef1873275dbdf7c8ad562c22083de",
"type": "sourcehut"
},
"original": {
"owner": "~moritzboehme",
"repo": "howdy",
"type": "sourcehut"
}
},
"hypr-contrib": { "hypr-contrib": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs" "nixpkgs": "nixpkgs_3"
}, },
"locked": { "locked": {
"lastModified": 1679036674, "lastModified": 1679036674,
@ -327,7 +457,7 @@
"hyprland": { "hyprland": {
"inputs": { "inputs": {
"hyprland-protocols": "hyprland-protocols", "hyprland-protocols": "hyprland-protocols",
"nixpkgs": "nixpkgs_2", "nixpkgs": "nixpkgs_4",
"wlroots": "wlroots", "wlroots": "wlroots",
"xdph": "xdph" "xdph": "xdph"
}, },
@ -368,7 +498,7 @@
}, },
"hyprpaper": { "hyprpaper": {
"inputs": { "inputs": {
"nixpkgs": "nixpkgs_3" "nixpkgs": "nixpkgs_5"
}, },
"locked": { "locked": {
"lastModified": 1681080114, "lastModified": 1681080114,
@ -417,8 +547,8 @@
}, },
"neovim": { "neovim": {
"inputs": { "inputs": {
"flake-utils": "flake-utils_2", "flake-utils": "flake-utils_5",
"nixpkgs": "nixpkgs_4" "nixpkgs": "nixpkgs_6"
}, },
"locked": { "locked": {
"dir": "contrib", "dir": "contrib",
@ -463,11 +593,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1658161305, "lastModified": 1673540789,
"narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=", "narHash": "sha256-xqnxBOK3qctIeUVxecydrEDbEXjsvHCPGPbvsl63M/U=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e4d49de45a3b5dbcb881656b4e3986e666141ea9", "rev": "0f213d0fee84280d8c3a97f7469b988d6fe5fcdf",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -478,6 +608,22 @@
} }
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": {
"lastModified": 1673800717,
"narHash": "sha256-SFHraUqLSu5cC6IxTprex/nTsI81ZQAtDvlBvGDWfnA=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "2f9fd351ec37f5d479556cd48be4ca340da59b8f",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-22.11",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable_2": {
"locked": { "locked": {
"lastModified": 1678872516, "lastModified": 1678872516,
"narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=", "narHash": "sha256-/E1YwtMtFAu2KUQKV/1+KFuReYPANM2Rzehk84VxVoc=",
@ -494,6 +640,38 @@
} }
}, },
"nixpkgs_2": { "nixpkgs_2": {
"locked": {
"lastModified": 1675758091,
"narHash": "sha256-7gFSQbSVAFUHtGCNHPF7mPc5CcqDk9M2+inlVPZSneg=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "747927516efcb5e31ba03b7ff32f61f6d47e7d87",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixpkgs-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1658161305,
"narHash": "sha256-X/nhnMCa1Wx4YapsspyAs6QYz6T/85FofrI6NpdPDHg=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "e4d49de45a3b5dbcb881656b4e3986e666141ea9",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_4": {
"locked": { "locked": {
"lastModified": 1680669251, "lastModified": 1680669251,
"narHash": "sha256-AVNE+0u4HlI3v96KCXE9risH7NKqj0QDLLfSckYXIbA=", "narHash": "sha256-AVNE+0u4HlI3v96KCXE9risH7NKqj0QDLLfSckYXIbA=",
@ -509,7 +687,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_3": { "nixpkgs_5": {
"locked": { "locked": {
"lastModified": 1674641431, "lastModified": 1674641431,
"narHash": "sha256-qfo19qVZBP4qn5M5gXc/h1MDgAtPA5VxJm9s8RUAkVk=", "narHash": "sha256-qfo19qVZBP4qn5M5gXc/h1MDgAtPA5VxJm9s8RUAkVk=",
@ -525,7 +703,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_4": { "nixpkgs_6": {
"locked": { "locked": {
"lastModified": 1671983799, "lastModified": 1671983799,
"narHash": "sha256-Z2Ro6hFPZHkBqkVXY5/aBUzxi5xizQGvuHQ9+T5B/ks=", "narHash": "sha256-Z2Ro6hFPZHkBqkVXY5/aBUzxi5xizQGvuHQ9+T5B/ks=",
@ -541,7 +719,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_5": { "nixpkgs_7": {
"locked": { "locked": {
"lastModified": 1681028957, "lastModified": 1681028957,
"narHash": "sha256-gKWkKT/nFg2d9HZyK7VAjRzkyPfKLx+uIGyWXDw0NB0=", "narHash": "sha256-gKWkKT/nFg2d9HZyK7VAjRzkyPfKLx+uIGyWXDw0NB0=",
@ -557,7 +735,7 @@
"type": "github" "type": "github"
} }
}, },
"nixpkgs_6": { "nixpkgs_8": {
"locked": { "locked": {
"lastModified": 1678898370, "lastModified": 1678898370,
"narHash": "sha256-xTICr1j+uat5hk9FyuPOFGxpWHdJRibwZC+ATi0RbtE=", "narHash": "sha256-xTICr1j+uat5hk9FyuPOFGxpWHdJRibwZC+ATi0RbtE=",
@ -592,11 +770,64 @@
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_2", "flake-compat": "flake-compat_2",
"flake-utils": "flake-utils_3", "flake-utils": [
"emacs",
"flake-utils"
],
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": "nixpkgs_6", "nixpkgs": [
"emacs",
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable" "nixpkgs-stable": "nixpkgs-stable"
}, },
"locked": {
"lastModified": 1675688762,
"narHash": "sha256-oit/SxMk0B380ASuztBGQLe8TttO1GJiXF8aZY9AYEc=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "ab608394886fb04b8a5df3cb0bab2598400e3634",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks_2": {
"inputs": {
"flake-utils": [
"howdy",
"flake-utils"
],
"nixpkgs": [
"howdy",
"nixpkgs"
]
},
"locked": {
"lastModified": 1664708386,
"narHash": "sha256-aCD8UUGNYb5nYzRmtsq/0yP9gFOQQHr/Lsb5vW+mucw=",
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"rev": "2e4a708918e14fdbd534cc94aaa9470cd19b2464",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "pre-commit-hooks.nix",
"type": "github"
}
},
"pre-commit-hooks_3": {
"inputs": {
"flake-compat": "flake-compat_3",
"flake-utils": "flake-utils_6",
"gitignore": "gitignore_2",
"nixpkgs": "nixpkgs_8",
"nixpkgs-stable": "nixpkgs-stable_2"
},
"locked": { "locked": {
"lastModified": 1680981441, "lastModified": 1680981441,
"narHash": "sha256-Tqr2mCVssUVp1ZXXMpgYs9+ZonaWrZGPGltJz94FYi4=", "narHash": "sha256-Tqr2mCVssUVp1ZXXMpgYs9+ZonaWrZGPGltJz94FYi4=",
@ -619,9 +850,10 @@
"attic": "attic", "attic": "attic",
"comment-box-nvim": "comment-box-nvim", "comment-box-nvim": "comment-box-nvim",
"copilot-lua": "copilot-lua", "copilot-lua": "copilot-lua",
"flake-utils": "flake-utils", "emacs": "emacs",
"gitignore-nvim": "gitignore-nvim", "flake-utils": "flake-utils_3",
"home-manager": "home-manager", "home-manager": "home-manager",
"howdy": "howdy",
"hypr-contrib": "hypr-contrib", "hypr-contrib": "hypr-contrib",
"hyprland": "hyprland", "hyprland": "hyprland",
"hyprpaper": "hyprpaper", "hyprpaper": "hyprpaper",
@ -629,9 +861,9 @@
"master": "master", "master": "master",
"neovim": "neovim", "neovim": "neovim",
"nil": "nil", "nil": "nil",
"nixpkgs": "nixpkgs_5", "nixpkgs": "nixpkgs_7",
"nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects", "nvim-treesitter-textsubjects": "nvim-treesitter-textsubjects",
"pre-commit-hooks": "pre-commit-hooks", "pre-commit-hooks": "pre-commit-hooks_3",
"smartcolumn-nvim": "smartcolumn-nvim", "smartcolumn-nvim": "smartcolumn-nvim",
"stable": "stable", "stable": "stable",
"utils": "utils" "utils": "utils"

View file

@ -7,66 +7,64 @@
*/ */
inputs = { inputs = {
# Nix
master.url = "github:nixos/nixpkgs"; master.url = "github:nixos/nixpkgs";
nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable"; nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
stable.url = "github:nixos/nixpkgs/nixos-22.11"; stable.url = "github:nixos/nixpkgs/nixos-22.11";
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
utils.url = "github:gytis-ivaskevicius/flake-utils-plus"; utils.url = "github:gytis-ivaskevicius/flake-utils-plus";
utils.inputs.flake-utils.follows = "flake-utils"; utils.inputs.flake-utils.follows = "flake-utils";
agenix.inputs.nixpkgs.follows = "nixpkgs";
agenix.url = "github:ryantm/agenix"; agenix.url = "github:ryantm/agenix";
agenix.inputs.nixpkgs.follows = "nixpkgs";
attic.inputs.flake-utils.follows = "flake-utils"; home-manager.url = "github:nix-community/home-manager";
attic.inputs.nixpkgs-stable.follows = "stable";
attic.inputs.nixpkgs.follows = "nixpkgs";
attic.url = "github:zhaofengli/attic";
home-manager.inputs.nixpkgs.follows = "nixpkgs"; home-manager.inputs.nixpkgs.follows = "nixpkgs";
home-manager.inputs.utils.follows = "flake-utils"; home-manager.inputs.utils.follows = "flake-utils";
home-manager.url = "github:nix-community/home-manager";
nil.inputs.flake-utils.follows = "flake-utils";
nil.inputs.nixpkgs.follows = "nixpkgs";
nil.url = "github:oxalica/nil";
pre-commit-hooks.url = "github:cachix/pre-commit-hooks.nix";
# Neovim
neovim.url = "github:neovim/neovim/83bfd94d1df5eecb8e4069a227c7d24598636d63?dir=contrib"; # HACK to fix neovim not building at the moment
comment-box-nvim.flake = false;
comment-box-nvim.url = "github:LudoPinelli/comment-box.nvim";
copilot-lua.flake = false;
copilot-lua.url = "github:zbirenbaum/copilot.lua";
gitignore-nvim.flake = false;
gitignore-nvim.url = "github:wintermute-cell/gitignore.nvim";
lspsaga-nvim.flake = false;
lspsaga-nvim.url = "github:glepnir/lspsaga.nvim";
nvim-treesitter-textsubjects.flake = false;
nvim-treesitter-textsubjects.url = "github:RRethy/nvim-treesitter-textsubjects";
smartcolumn-nvim.flake = false;
smartcolumn-nvim.url = "github:m4xshen/smartcolumn.nvim";
# Hyprland
hypr-contrib.url = "github:hyprwm/contrib";
hyprland.url = "github:hyprwm/Hyprland";
hyprpaper.url = "github:hyprwm/hyprpaper";
# Laptop
asus-touchpad-numpad-driver.url = "github:MoritzBoehme/asus-touchpad-numpad-driver/german-layout"; asus-touchpad-numpad-driver.url = "github:MoritzBoehme/asus-touchpad-numpad-driver/german-layout";
asus-touchpad-numpad-driver.flake = false; asus-touchpad-numpad-driver.flake = false;
# Firefox user.js
arkenfox-userjs.url = "github:arkenfox/user.js"; arkenfox-userjs.url = "github:arkenfox/user.js";
arkenfox-userjs.flake = false; arkenfox-userjs.flake = false;
howdy.url = "sourcehut:~moritzboehme/howdy";
howdy.inputs.nixpkgs.follows = "nixpkgs";
emacs.url = "git+ssh://git@gitea.moritzboeh.me/moritz/emacs.git?ref=main";
neovim.url = "github:neovim/neovim/83bfd94d1df5eecb8e4069a227c7d24598636d63?dir=contrib"; # HACK to fix neovim not building at the moment
nil.url = "github:oxalica/nil";
nil.inputs.nixpkgs.follows = "nixpkgs";
nil.inputs.flake-utils.follows = "flake-utils";
hyprland.url = "github:hyprwm/Hyprland";
hyprpaper.url = "github:hyprwm/hyprpaper";
hypr-contrib.url = "github:hyprwm/contrib";
nvim-treesitter-textsubjects.url = "github:RRethy/nvim-treesitter-textsubjects";
nvim-treesitter-textsubjects.flake = false;
smartcolumn-nvim.url = "github:m4xshen/smartcolumn.nvim";
smartcolumn-nvim.flake = false;
copilot-lua.url = "github:zbirenbaum/copilot.lua";
copilot-lua.flake = false;
lspsaga-nvim.url = "github:glepnir/lspsaga.nvim";
lspsaga-nvim.flake = false;
comment-box-nvim.url = "github:LudoPinelli/comment-box.nvim";
comment-box-nvim.flake = false;
attic.url = "github:zhaofengli/attic";
attic.inputs.nixpkgs.follows = "nixpkgs";
attic.inputs.nixpkgs-stable.follows = "stable";
attic.inputs.flake-utils.follows = "flake-utils";
}; };
/* /*
@ -84,7 +82,7 @@
channelsConfig.allowUnfree = true; channelsConfig.allowUnfree = true;
lib = nixpkgs.lib.extend lib = nixpkgs.lib.extend
(self: _: { my = import ./lib { lib = self; }; }); (self: super: { my = import ./lib { lib = self; }; });
/* /*
@ -96,7 +94,9 @@
inherit (self) lib; inherit (self) lib;
}; };
channels.nixpkgs.overlaysBuilder = _: [ channels.nixpkgs.overlaysBuilder = channels: [
inputs.emacs.overlays.default
inputs.howdy.overlays.default
inputs.hypr-contrib.overlays.default inputs.hypr-contrib.overlays.default
inputs.hyprland.overlays.default inputs.hyprland.overlays.default
inputs.utils.overlay inputs.utils.overlay
@ -132,6 +132,7 @@
}; };
} }
inputs.agenix.nixosModules.age inputs.agenix.nixosModules.age
inputs.howdy.nixosModules.default
]; ];

View file

@ -1,11 +1,12 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ pkgs { lib
, config
, pkgs
, inputs
, ... , ...
}: }: {
{
imports = [ imports = [
# Include the results of the hardware scan. # Include the results of the hardware scan.
./hardware-configuration.nix ./hardware-configuration.nix

View file

@ -3,6 +3,7 @@
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ config { config
, lib , lib
, pkgs
, modulesPath , modulesPath
, ... , ...
}: { }: {

View file

@ -1,7 +1,8 @@
# Edit this configuration file to define what should be installed on # Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page # your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help). # and in the NixOS manual (accessible by running nixos-help).
{ pkgs { config
, pkgs
, inputs , inputs
, ... , ...
}: { }: {
@ -10,6 +11,11 @@
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
# services.howdy = {
# enable = true;
# certainty = 3.0;
# };
# BOOT # BOOT
boot = { boot = {
supportedFilesystems = [ "btrfs" ]; supportedFilesystems = [ "btrfs" ];

View file

@ -1,7 +1,10 @@
# Do not modify this file! It was generated by nixos-generate-config # Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes # and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead. # to /etc/nixos/configuration.nix instead.
{ modulesPath { config
, lib
, pkgs
, modulesPath
, ... , ...
}: { }: {
imports = [ (modulesPath + "/installer/scan/not-detected.nix") ]; imports = [ (modulesPath + "/installer/scan/not-detected.nix") ];

View file

@ -1,6 +1,6 @@
{ lib, ... }: { lib, ... }:
lib.makeExtensible (_: rec { lib.makeExtensible (self: rec {
mkDate = longDate: lib.concatStringsSep "-" [ mkDate = longDate: lib.concatStringsSep "-" [
(builtins.substring 0 4 longDate) (builtins.substring 0 4 longDate)
(builtins.substring 4 2 longDate) (builtins.substring 4 2 longDate)

View file

@ -1,3 +1,9 @@
{ config
, lib
, pkgs
, ...
}:
{ {
imports = [ imports = [
./bin ./bin

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, inputs , inputs
, ... , ...
}: }:

View file

@ -1,8 +1,13 @@
{ lib { config
, lib
, pkgs
, ... , ...
}: }:
with lib; with lib;
let
cfg = config.my.shell;
in
{ {
options.my.shell = { options.my.shell = {
abbreviations = mkOption { abbreviations = mkOption {

View file

@ -1,4 +1,6 @@
{ config { config
, lib
, pkgs
, rosewater , rosewater
, flamingo , flamingo
, pink , pink
@ -25,9 +27,12 @@
, base , base
, mantle , mantle
, crust , crust
, ...
}: }:
with lib;
let
cfg = config.my.theming;
in
{ {
home-manager.users.moritz = { home-manager.users.moritz = {
programs = { programs = {

View file

@ -1,6 +1,7 @@
{ config { config
, lib , lib
, pkgs , pkgs
, inputs
, ... , ...
}: }:

View file

@ -1,7 +1,4 @@
{ config { config, lib, pkgs, ... }:
, lib
, ...
}:
with lib; with lib;
let let

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,3 +1,9 @@
{ config
, lib
, pkgs
, ...
}:
{ {
imports = [ imports = [
./config ./config

View file

@ -1,4 +1,5 @@
{ lib { config
, lib
, pkgs , pkgs
, ... , ...
}: }:

View file

@ -1,4 +1,6 @@
{ pkgs { config
, lib
, pkgs
, ... , ...
}: { }: {
programs.steam.enable = true; programs.steam.enable = true;

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,9 +1,16 @@
{ config
, lib
, pkgs
, ...
}:
{ {
imports = [ imports = [
./adb.nix ./adb.nix
./bspwm ./bspwm
./code.nix ./code.nix
./direnv.nix ./direnv.nix
./emacs.nix
./firefox.nix ./firefox.nix
./fish.nix ./fish.nix
./git.nix ./git.nix
@ -24,6 +31,7 @@
./sway.nix ./sway.nix
./thunar.nix ./thunar.nix
./nvim ./nvim
./xmonad
./zathura.nix ./zathura.nix
./zsh.nix ./zsh.nix
]; ];

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -0,0 +1,33 @@
{ config
, lib
, pkgs
, inputs
, ...
}:
with lib;
let
cfg = config.my.programs.emacs;
myEmacs = pkgs.emacsPgtkWithPackages;
in
{
options.my.programs.emacs.enable = mkEnableOption "emacs";
config = mkIf cfg.enable {
my.shell.aliases = {
emacs = "emacsclient -nw -a 'emacs -nw'";
};
fonts.fonts = with pkgs; [
emacs-all-the-icons-fonts
(iosevka-bin.override { variant = "aile"; })
];
users.users.moritz.packages = [ myEmacs ];
home-manager.users.moritz = {
home.sessionPath = [ "/home/moritz/.config/emacs/bin/" ];
services.emacs = {
enable = true;
package = myEmacs;
};
};
};
}

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, inputs , inputs
, ... , ...
}: }:

View file

@ -1,6 +1,7 @@
{ config { config
, lib , lib
, pkgs , pkgs
, inputs
, ... , ...
}: }:

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:
@ -160,6 +161,7 @@ in
bind = $mainMod , B , exec , rofi-bluetooth bind = $mainMod , B , exec , rofi-bluetooth
bind = $mainMod , C , exec , rofi -show calc -modi calc -no-show-match -no-sort | wl-copy bind = $mainMod , C , exec , rofi -show calc -modi calc -no-show-match -no-sort | wl-copy
bind = $mainMod , D , exec , hyprctl keyword general:layout dwindle bind = $mainMod , D , exec , hyprctl keyword general:layout dwindle
bind = $mainMod , E , exec , emacsclient -c -a emacs
bind = $mainMod , M , exec , hyprctl keyword general:layout master bind = $mainMod , M , exec , hyprctl keyword general:layout master
bind = $mainMod , R , exec , rofi -show combi bind = $mainMod , R , exec , rofi -show combi
bind = $mainMod , RETURN , exec , kitty bind = $mainMod , RETURN , exec , kitty

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -18,7 +18,7 @@ in
}; };
aliases = aliases =
let let
applyCommon = _: command: "${command} --payee note --strict --explicit"; applyCommon = name: command: "${command} --payee note --strict --explicit";
in in
mapAttrs applyCommon { mapAttrs applyCommon {
bal = "ledger bal"; bal = "ledger bal";

View file

@ -131,8 +131,11 @@ require("lspsaga").setup({
enable = false, enable = false,
}, },
lightbulb = { lightbulb = {
enable = false, enable = true,
enable_in_insert = false, enable_in_insert = true,
sign = true,
sign_priority = 40,
virtual_text = false,
}, },
}) })
@ -142,6 +145,7 @@ local on_attach_def = function(_, bufnr)
K = { "<cmd>Lspsaga hover_doc ++quiet<cr>", "show info" }, K = { "<cmd>Lspsaga hover_doc ++quiet<cr>", "show info" },
["<leader>"] = { ["<leader>"] = {
l = { l = {
name = "lsp",
d = { "<cmd>Lspsaga show_cursor_diagnostics<cr>", "open diagnostic window" }, d = { "<cmd>Lspsaga show_cursor_diagnostics<cr>", "open diagnostic window" },
c = { "<cmd>Lspsaga code_action<cr>", "code action" }, c = { "<cmd>Lspsaga code_action<cr>", "code action" },
r = { "<cmd>Lspsaga rename<cr>", "rename" }, r = { "<cmd>Lspsaga rename<cr>", "rename" },
@ -155,10 +159,12 @@ local on_attach_def = function(_, bufnr)
}, },
}, },
t = { t = {
name = "toggle",
l = { lsp_lines.toggle, "lsp lines" }, l = { lsp_lines.toggle, "lsp lines" },
}, },
}, },
g = { g = {
name = "goto",
d = { "<cmd>Lspsaga peek_definition<cr>", "Goto definition" }, d = { "<cmd>Lspsaga peek_definition<cr>", "Goto definition" },
t = { "<cmd>Lspsaga peek_type_definition<cr>", "Goto type defininition" }, t = { "<cmd>Lspsaga peek_type_definition<cr>", "Goto type defininition" },
h = { "<cmd>Lspsaga lsp_finder<CR>", "Lsp finder" }, h = { "<cmd>Lspsaga lsp_finder<CR>", "Lsp finder" },

View file

@ -4,6 +4,8 @@ require("which-key").register({
name = "buffer", name = "buffer",
b = { "<cmd>Telescope buffers<cr>", "List buffers" }, b = { "<cmd>Telescope buffers<cr>", "List buffers" },
d = { "<cmd>bd<cr>", "Delete buffer" }, d = { "<cmd>bd<cr>", "Delete buffer" },
n = { "<cmd>bnext<cr>", "Next buffer" },
p = { "<cmd>bprevious<cr>", "Previous buffer" },
}, },
}) })
@ -17,14 +19,6 @@ require("which-key").register({
d = { "<C-w>c", "Delete window" }, d = { "<C-w>c", "Delete window" },
}, },
}, { prefix = "<leader>" }) }, { prefix = "<leader>" })
require("which-key").register({
["["] = {
b = { "<cmd>bprevious<cr>", "Previous buffer" },
},
["]"] = {
b = { "<cmd>bnext<cr>", "Next buffer" },
},
})
-- fast window move -- fast window move
require("which-key").register({ require("which-key").register({
@ -55,18 +49,10 @@ require("which-key").register({
-- better descriptions for navigation -- better descriptions for navigation
require("which-key").register({ require("which-key").register({
["<leader>"] = {
f = { name = "file/find" },
g = { name = "git" },
l = { name = "lsp" },
o = { name = "org" },
s = { name = "search" },
t = { name = "toggle" },
x = { name = "diagnostics/quickfix" },
},
["["] = { name = "prev" }, ["["] = { name = "prev" },
["]"] = { name = "next" }, ["]"] = { name = "next" },
g = { name = "goto" }, o = { name = "org" },
x = { name = "diagnostics/quickfix" },
}) })
-- Clear search with <esc> -- Clear search with <esc>

View file

@ -1,3 +0,0 @@
require("which-key").register({
i = { "<cmd>Gitignore<cr>", "Create .gitignore" },
}, { prefix = "<leader>g" })

View file

@ -1,10 +1,12 @@
require("which-key").register({ require("which-key").register({
f = { f = {
name = "file/find",
f = { "<cmd>Telescope find_files<cr>", "Find files" }, f = { "<cmd>Telescope find_files<cr>", "Find files" },
b = { "<cmd>Telescope buffers<cr>", "Find buffers" }, b = { "<cmd>Telescope buffers<cr>", "Find buffers" },
r = { "<cmd>Telescope oldfiles<cr>", "Find recent files" }, r = { "<cmd>Telescope oldfiles<cr>", "Find recent files" },
}, },
s = { s = {
name = "search",
l = { "<cmd>Telescope current_buffer_fuzzy_find<cr>", "Search lines" }, l = { "<cmd>Telescope current_buffer_fuzzy_find<cr>", "Search lines" },
g = { "<cmd>Telescope live_grep<cr>", "Live grep" }, g = { "<cmd>Telescope live_grep<cr>", "Live grep" },
c = { "<cmd>Telescope command_history<cr>", "Command history" }, c = { "<cmd>Telescope command_history<cr>", "Command history" },
@ -15,8 +17,4 @@ require("which-key").register({
s = { "<cmd>Telescope lsp_document_symbols<cr>", "Symbols (Document)" }, s = { "<cmd>Telescope lsp_document_symbols<cr>", "Symbols (Document)" },
S = { "<cmd>Telescope lsp_workspace_symbols<cr>", "Symbols (Workspace)" }, S = { "<cmd>Telescope lsp_workspace_symbols<cr>", "Symbols (Workspace)" },
}, },
g = {
c = { "<cmd>Telescope git_commits<cr>", "Commits" },
s = { "<cmd>Telescope git_status<cr>", "Status" },
},
}, { prefix = "<leader>" }) }, { prefix = "<leader>" })

View file

@ -1,4 +1,7 @@
require("telescope").load_extension("zoxide") require("telescope").load_extension("zoxide")
require("which-key").register({ require("which-key").register({
z = { "<cmd>Telescope zoxide list<cr>", "Find location (Zoxide)" }, f = {
}, { prefix = "<leader>f" }) name = "file/find",
z = { "<cmd>Telescope zoxide list<cr>", "Find location (Zoxide)" },
},
}, { prefix = "<leader>" })

View file

@ -9,7 +9,7 @@ let
cfg = config.my.programs.python; cfg = config.my.programs.python;
pythonVersions = map (version: "3${toString version}") (range 8 11); pythonVersions = map (version: "3${toString version}") (range 8 11);
enabledVersions = filterAttrs (_: value: value.enable) cfg.versions; enabledVersions = filterAttrs (name: value: value.enable) cfg.versions;
pythonPackages = version: attrNames pkgs."python${version}Packages"; pythonPackages = version: attrNames pkgs."python${version}Packages";

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -0,0 +1,50 @@
{ config
, lib
, pkgs
, ...
}:
with lib;
let
cfg = config.my.programs.xmonad;
in
{
options.my.programs.xmonad.enable = mkEnableOption "xmonad";
config = lib.mkIf cfg.enable {
services = {
xserver = {
enable = true;
layout = "de";
displayManager = {
defaultSession = "none+xmonad";
autoLogin = {
enable = true;
user = "moritz";
};
lightdm.enable = true;
};
windowManager.xmonad.enable = true;
};
};
home-manager.users.moritz =
let
xmonadPackages = haskellPackages: [
haskellPackages.xmonad-contrib
haskellPackages.xmonad-extras
haskellPackages.xmonad
haskellPackages.xmobar
];
in
{
xsession.windowManager.xmonad = {
enable = true;
enableContribAndExtras = true;
config = ./xmonad.hs;
# extraPackages = xmonadPackages;
};
programs.xmobar.enable = true;
};
};
}

View file

@ -0,0 +1,39 @@
import XMonad
( Choose,
Default (def),
Full,
KeyMask,
Mirror,
Tall,
X,
XConfig (modMask, terminal),
mod4Mask,
spawn,
xmonad,
)
import XMonad.Hooks.EwmhDesktops (ewmh)
import XMonad.Util.EZConfig (additionalKeysP)
myModMask :: KeyMask
myModMask = mod4Mask
myTerminal :: String
myTerminal = "kitty"
myKeys :: [(String, X ())]
myKeys =
[ ("M-d", spawn "rofi -show combi"),
("M-e", spawn "emacsclient -c -a emacs"),
("M-f", spawn "firefox")
]
myConfig :: (XConfig (Choose Tall (Choose (Mirror Tall) Full)))
myConfig =
def
{ modMask = myModMask,
terminal = myTerminal
}
`additionalKeysP` myKeys
main :: IO ()
main = xmonad $ ewmh $ ewmhFullscreen myConfig

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,6 +1,7 @@
{ config { config
, lib , lib
, pkgs , pkgs
, inputs
, ... , ...
}: }:

View file

@ -1,4 +1,8 @@
{ { config
, lib
, pkgs
, ...
}: {
imports = [ imports = [
./dunst.nix ./dunst.nix
./kdeconnect.nix ./kdeconnect.nix

View file

@ -1,4 +1,4 @@
{ config, lib, ... }: { config, lib, pkgs, ... }:
with lib; with lib;
let let

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,3 +1,8 @@
{ config
, lib
, pkgs
, ...
}:
{ {
imports = [ imports = [
./podman.nix ./podman.nix

View file

@ -1,5 +1,6 @@
{ config { config
, lib , lib
, pkgs
, ... , ...
}: }:

View file

@ -1,6 +1,6 @@
{ inputs, ... }: { lib, inputs }:
_: prev: { final: prev: {
master = import inputs.master { master = import inputs.master {
inherit (prev) system; inherit (prev) system;
config.allowUnfree = true; config.allowUnfree = true;

View file

@ -1,5 +1,5 @@
{ lib, ... }: { lib, inputs }:
_: _: { final: prev: {
inherit lib; inherit lib;
} }

View file

@ -1,6 +1,6 @@
{ inputs, ... }: { inputs, lib }:
_: prev: final: prev:
{ {
agenix = inputs.agenix.packages.${prev.system}.default; agenix = inputs.agenix.packages.${prev.system}.default;
attic = inputs.attic.packages.${prev.system}.default; attic = inputs.attic.packages.${prev.system}.default;

View file

@ -1,6 +1,6 @@
{ inputs, lib }: { inputs, lib }:
_: prev: final: prev:
with lib.my; with lib.my;
{ {
vimPlugins = prev.vimPlugins // { vimPlugins = prev.vimPlugins // {
@ -16,12 +16,12 @@ with lib.my;
src = inputs.smartcolumn-nvim; src = inputs.smartcolumn-nvim;
}; };
copilot-lua = prev.vimPlugins.copilot-lua.overrideAttrs (_: { copilot-lua = prev.vimPlugins.copilot-lua.overrideAttrs (old: {
version = mkVersionInput inputs.copilot-lua; version = mkVersionInput inputs.copilot-lua;
src = inputs.copilot-lua; src = inputs.copilot-lua;
}); });
lspsaga-nvim-original = prev.vimPlugins.lspsaga-nvim-original.overrideAttrs (_: { lspsaga-nvim-original = prev.vimPlugins.lspsaga-nvim-original.overrideAttrs (old: {
version = mkVersionInput inputs.lspsaga-nvim; version = mkVersionInput inputs.lspsaga-nvim;
src = inputs.lspsaga-nvim; src = inputs.lspsaga-nvim;
}); });
@ -37,11 +37,5 @@ with lib.my;
version = mkVersionInput inputs.comment-box-nvim; version = mkVersionInput inputs.comment-box-nvim;
src = inputs.comment-box-nvim; src = inputs.comment-box-nvim;
}; };
gitignore-nvim = prev.vimUtils.buildVimPluginFrom2Nix {
pname = "gitignore-nvim";
version = mkVersionInput inputs.gitignore-nvim;
src = inputs.gitignore-nvim;
};
}; };
} }

View file

@ -1,4 +1,4 @@
_: { lib, inputs }:
final: prev: { final: prev: {
neovide-hyprland = final.symlinkJoin { neovide-hyprland = final.symlinkJoin {