forked from foxora/nix
Compare commits
No commits in common. "0a72c0387c7189a9883b7656d28bba2ed285a00a" and "6a011236e48a3aeeedebf18b3a0b0851e280938c" have entirely different histories.
0a72c0387c
...
6a011236e4
27 changed files with 607 additions and 397 deletions
36
flake.lock
generated
36
flake.lock
generated
|
|
@ -145,7 +145,7 @@
|
|||
"inputs": {
|
||||
"deploy-rs": "deploy-rs",
|
||||
"nixpkgs": [
|
||||
"nixpkgs-unstable"
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-unstable": [
|
||||
"nixpkgs-unstable"
|
||||
|
|
@ -156,14 +156,17 @@
|
|||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1771048427,
|
||||
"narHash": "sha256-pGqtZ6LH3hcmtSiCy8bMnRxkBBT0CU18pIHlEm9yCs4=",
|
||||
"path": "/home/me/cry/mk/Cerulean",
|
||||
"type": "path"
|
||||
"lastModified": 1771048834,
|
||||
"narHash": "sha256-rkhrNJIjCQeABf0zgWZvz4Rb99TJvK+ioOmgy3tIOMs=",
|
||||
"owner": "emilelcb",
|
||||
"repo": "Cerulean",
|
||||
"rev": "f329d48223d8addd340f14c9c653960544b3ce2c",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"path": "/home/me/cry/mk/Cerulean",
|
||||
"type": "path"
|
||||
"owner": "emilelcb",
|
||||
"repo": "Cerulean",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"crane": {
|
||||
|
|
@ -1254,6 +1257,22 @@
|
|||
}
|
||||
},
|
||||
"nixpkgs_10": {
|
||||
"locked": {
|
||||
"lastModified": 1771043024,
|
||||
"narHash": "sha256-O1XDr7EWbRp+kHrNNgLWgIrB0/US5wvw9K6RERWAj6I=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "3aadb7ca9eac2891d52a9dec199d9580a6e2bf44",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-25.11",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_11": {
|
||||
"locked": {
|
||||
"lastModified": 1769461804,
|
||||
"narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=",
|
||||
|
|
@ -1470,6 +1489,7 @@
|
|||
"nix-alien": "nix-alien",
|
||||
"nixcats": "nixcats",
|
||||
"nixcord": "nixcord",
|
||||
"nixpkgs": "nixpkgs_10",
|
||||
"nixpkgs-staging": "nixpkgs-staging",
|
||||
"nixpkgs-unstable": "nixpkgs-unstable",
|
||||
"sddm-silent": "sddm-silent",
|
||||
|
|
@ -1736,7 +1756,7 @@
|
|||
"zen": {
|
||||
"inputs": {
|
||||
"home-manager": "home-manager_2",
|
||||
"nixpkgs": "nixpkgs_10"
|
||||
"nixpkgs": "nixpkgs_11"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1770910552,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
inputs = {
|
||||
systems.url = "github:nix-systems/default";
|
||||
|
||||
nixpkgs.url = "github:NixOS/nixpkgs/nixos-25.11";
|
||||
nixpkgs-unstable.url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
nixpkgs-staging.url = "github:NixOS/nixpkgs/staging-next";
|
||||
|
||||
|
|
@ -17,10 +18,14 @@
|
|||
inputs = {
|
||||
systems.follows = "systems";
|
||||
nixpkgs.follows = "nixpkgs-unstable";
|
||||
nixpkgs-unstable.follows = "nixpkgs-unstable";
|
||||
};
|
||||
};
|
||||
|
||||
microvm = {
|
||||
url = "github:microvm-nix/microvm.nix";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
cachyos.url = "github:xddxdd/nix-cachyos-kernel";
|
||||
|
||||
nix-alien = {
|
||||
|
|
|
|||
6
groups/all/default.nix
Normal file
6
groups/all/default.nix
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
{ ... }: {
|
||||
nix.settings = {
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
download-buffer-size = 524288000;
|
||||
};
|
||||
}
|
||||
17
groups/servers/default.nix
Normal file
17
groups/servers/default.nix
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
{ ... }: {
|
||||
nix.settings = {
|
||||
trusted-users = ["root" "@wheel"];
|
||||
};
|
||||
|
||||
security = {
|
||||
sudo = {
|
||||
enable = true;
|
||||
wheelNeedsPassword = true;
|
||||
};
|
||||
|
||||
pam = {
|
||||
sshAgentAuth.enable = true;
|
||||
services.sudo.sshAgentAuth = true; # pam_ssh_agent_auth module
|
||||
};
|
||||
};
|
||||
}
|
||||
9
groups/unstable-base/default.nix
Normal file
9
groups/unstable-base/default.nix
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
lib,
|
||||
config,
|
||||
...
|
||||
}: {
|
||||
nixpkgs.channels.default = {
|
||||
default = lib.mkForce config.nixpkgs.channels.default.upkgs;
|
||||
};
|
||||
}
|
||||
|
|
@ -71,6 +71,7 @@
|
|||
|
||||
# fonts
|
||||
nerd-fonts.departure-mono # pretty pixel art font i love!! x3
|
||||
nerd-fonts.jetbrains-mono
|
||||
|
||||
# cli / tui tools and commands!
|
||||
eza # replaces: ls (rust)
|
||||
|
|
|
|||
142
homes/modules/de/rofi/ichigo.rasi
Normal file
142
homes/modules/de/rofi/ichigo.rasi
Normal file
|
|
@ -0,0 +1,142 @@
|
|||
configuration {
|
||||
modes: [ combi ];
|
||||
combi-modes: [ window, drun, run ];
|
||||
}
|
||||
|
||||
@theme "colors"
|
||||
|
||||
window {
|
||||
background-color: @background;
|
||||
border-color: @color10;
|
||||
border-radius: 12px;
|
||||
border: 2;
|
||||
padding: 16;
|
||||
transparency: "real";
|
||||
opacity: 90;
|
||||
}
|
||||
|
||||
mainbox {
|
||||
background-color: transparent;
|
||||
opacity: 90;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
message {
|
||||
border: 2px 0px 0px;
|
||||
border-color: @color14;
|
||||
padding: 1px;
|
||||
}
|
||||
|
||||
inputbar {
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
spacing: 8;
|
||||
}
|
||||
textbox {
|
||||
background-color: @background;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
prompt {
|
||||
background-color: transparent;
|
||||
text-color: @color12;
|
||||
}
|
||||
|
||||
entry {
|
||||
placeholder: "~ rawr :3 ~ *pounces on u* <3 ~ >w< ~";
|
||||
cursor: pointer;
|
||||
background-color: transparent;
|
||||
text-color: @color13;
|
||||
}
|
||||
|
||||
case-indicator {
|
||||
background-color: transparent;
|
||||
text-color: @color12;
|
||||
}
|
||||
|
||||
listview {
|
||||
fixed-height: 0;
|
||||
border: 2px 0px 0px;
|
||||
border-color: transparent;
|
||||
background-color: transparent;
|
||||
spacing: 2px;
|
||||
scrollbar: true;
|
||||
padding: 2px 0px 0px;
|
||||
}
|
||||
|
||||
element {
|
||||
orientation: horizontal;
|
||||
spacing: 8;
|
||||
border: 0;
|
||||
border-radius: 4;
|
||||
}
|
||||
|
||||
element-icon {
|
||||
size: 24;
|
||||
}
|
||||
|
||||
element-text {
|
||||
vertical-align: 0.5;
|
||||
}
|
||||
|
||||
element.normal.normal {
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
element.alternate.normal {
|
||||
background-color: transparent;
|
||||
text-color: @color06;
|
||||
}
|
||||
element.selected.normal {
|
||||
background-color: @color13;
|
||||
text-color: @background;
|
||||
}
|
||||
|
||||
element.normal.urgent {
|
||||
background-color: @color14;
|
||||
text-color: @background;
|
||||
}
|
||||
element.alternate.urgent {
|
||||
background-color: transparent;
|
||||
text-color: @color14;
|
||||
}
|
||||
element.selected.urgent {
|
||||
background-color: @color13;
|
||||
text-color: @background;
|
||||
}
|
||||
|
||||
element.normal.active {
|
||||
background-color: @color12;
|
||||
text-color: @background;
|
||||
}
|
||||
element.alternate.active {
|
||||
background-color: @background;
|
||||
text-color: @color14;
|
||||
}
|
||||
element.selected.active {
|
||||
background-color: @color13;
|
||||
text-color: @background;
|
||||
}
|
||||
|
||||
element-text, element-icon {
|
||||
background-color: inherit;
|
||||
text-color: inherit;
|
||||
}
|
||||
|
||||
button.selected {
|
||||
background-color: transparent;
|
||||
text-color: @foreground;
|
||||
}
|
||||
|
||||
scrollbar {
|
||||
background-color: transparent;
|
||||
handle-color: @color12;
|
||||
width: 4px;
|
||||
border: 0;
|
||||
handle-width: 8px;
|
||||
padding: 0;
|
||||
}
|
||||
mode-switcher {
|
||||
border: 2px 0px 0px ;
|
||||
border-color: @color14;
|
||||
}
|
||||
|
|
@ -3,7 +3,7 @@
|
|||
enable = true;
|
||||
|
||||
font = "DepartureMono Nerd Font Mono 10";
|
||||
theme = ./theme.rasi;
|
||||
theme = ./ichigo.rasi;
|
||||
|
||||
extraConfig = {
|
||||
#kb-row-up = "Up,Control+k";
|
||||
|
|
|
|||
|
|
@ -1,203 +0,0 @@
|
|||
---packadd + after/plugin
|
||||
---@type fun(names: string[]|string)
|
||||
local load_w_after_plugin = require('nixCatsUtils.lzUtils').make_load_with_after({ "plugin" })
|
||||
|
||||
-- NOTE: packadd doesnt load after directories.
|
||||
-- hence, the above function that you can get from luaUtils that exists to make that easy.
|
||||
|
||||
return {
|
||||
{
|
||||
"cmp-buffer",
|
||||
on_plugin = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"cmp-cmdline",
|
||||
on_plugin = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"cmp-cmdline-history",
|
||||
on_plugin = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"cmp-nvim-lsp",
|
||||
on_plugin = { "nvim-cmp" },
|
||||
dep_of = { "nvim-lspconfig" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"cmp-nvim-lsp-signature-help",
|
||||
on_plugin = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"cmp-nvim-lua",
|
||||
on_plugin = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"cmp-path",
|
||||
on_plugin = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"cmp_luasnip",
|
||||
on_plugin = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"friendly-snippets",
|
||||
dep_of = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"lspkind.nvim",
|
||||
dep_of = { "nvim-cmp" },
|
||||
load = load_w_after_plugin,
|
||||
},
|
||||
{
|
||||
"luasnip",
|
||||
dep_of = { "nvim-cmp" },
|
||||
after = function (plugin)
|
||||
local luasnip = require 'luasnip'
|
||||
require('luasnip.loaders.from_vscode').lazy_load()
|
||||
luasnip.config.setup {}
|
||||
|
||||
local ls = require('luasnip')
|
||||
|
||||
vim.keymap.set({ "i", "s" }, "<M-n>", function()
|
||||
if ls.choice_active() then
|
||||
ls.change_choice(1)
|
||||
end
|
||||
end)
|
||||
end,
|
||||
},
|
||||
{
|
||||
"nvim-cmp",
|
||||
-- cmd = { "" },
|
||||
event = { "DeferredUIEnter" },
|
||||
on_require = { "cmp" },
|
||||
-- ft = "",
|
||||
-- keys = "",
|
||||
-- colorscheme = "",
|
||||
after = function (plugin)
|
||||
-- [[ Configure nvim-cmp ]]
|
||||
-- See `:help cmp`
|
||||
local cmp = require 'cmp'
|
||||
local luasnip = require 'luasnip'
|
||||
local lspkind = require 'lspkind'
|
||||
|
||||
cmp.setup {
|
||||
formatting = {
|
||||
format = lspkind.cmp_format {
|
||||
mode = 'text',
|
||||
with_text = true,
|
||||
maxwidth = 50, -- prevent the popup from showing more than provided characters (e.g 50 will not show more than 50 characters)
|
||||
ellipsis_char = '...', -- when popup menu exceed maxwidth, the truncated part would show ellipsis_char instead (must define maxwidth first)
|
||||
|
||||
menu = {
|
||||
buffer = '[BUF]',
|
||||
nvim_lsp = '[LSP]',
|
||||
nvim_lsp_signature_help = '[LSP]',
|
||||
nvim_lsp_document_symbol = '[LSP]',
|
||||
nvim_lua = '[API]',
|
||||
path = '[PATH]',
|
||||
luasnip = '[SNIP]',
|
||||
},
|
||||
},
|
||||
},
|
||||
snippet = {
|
||||
expand = function(args)
|
||||
luasnip.lsp_expand(args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert {
|
||||
['<C-p>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-n>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete {},
|
||||
['<CR>'] = cmp.mapping.confirm {
|
||||
behavior = cmp.ConfirmBehavior.Replace,
|
||||
select = true,
|
||||
},
|
||||
['<Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_next_item()
|
||||
elseif luasnip.expand_or_locally_jumpable() then
|
||||
luasnip.expand_or_jump()
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
['<S-Tab>'] = cmp.mapping(function(fallback)
|
||||
if cmp.visible() then
|
||||
cmp.select_prev_item()
|
||||
elseif luasnip.locally_jumpable(-1) then
|
||||
luasnip.jump(-1)
|
||||
else
|
||||
fallback()
|
||||
end
|
||||
end, { 'i', 's' }),
|
||||
},
|
||||
|
||||
sources = cmp.config.sources {
|
||||
-- The insertion order influences the priority of the sources
|
||||
{ name = 'nvim_lsp'--[[ , keyword_length = 3 ]] },
|
||||
{ name = 'nvim_lsp_signature_help'--[[ , keyword_length = 3 ]]},
|
||||
{ name = 'path' },
|
||||
{ name = 'luasnip' },
|
||||
{ name = 'buffer' },
|
||||
},
|
||||
enabled = function()
|
||||
return vim.bo[0].buftype ~= 'prompt'
|
||||
end,
|
||||
experimental = {
|
||||
native_menu = false,
|
||||
ghost_text = false,
|
||||
},
|
||||
}
|
||||
|
||||
cmp.setup.filetype('lua', {
|
||||
sources = cmp.config.sources {
|
||||
{ name = 'nvim_lua' },
|
||||
{ name = 'nvim_lsp'--[[ , keyword_length = 3 ]]},
|
||||
{ name = 'nvim_lsp_signature_help'--[[ , keyword_length = 3 ]]},
|
||||
{ name = 'path' },
|
||||
{ name = 'luasnip' },
|
||||
{ name = 'buffer' },
|
||||
},{
|
||||
{
|
||||
name = 'cmdline',
|
||||
option = {
|
||||
ignore_cmds = { 'Man', '!' },
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
-- Use buffer source for `/` and `?` (if you enabled `native_menu`, this won't work anymore).
|
||||
cmp.setup.cmdline({ '/', '?' }, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{ name = 'nvim_lsp_document_symbol'--[[ , keyword_length = 3 ]]},
|
||||
{ name = 'buffer' },
|
||||
{ name = 'cmdline_history' },
|
||||
},
|
||||
view = {
|
||||
entries = { name = 'wildmenu', separator = '|' },
|
||||
},
|
||||
})
|
||||
|
||||
-- Use cmdline & path source for ':' (if you enabled `native_menu`, this won't work anymore).
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources {
|
||||
{ name = 'cmdline' },
|
||||
-- { name = 'cmdline_history' },
|
||||
{ name = 'path' },
|
||||
},
|
||||
})
|
||||
end,
|
||||
},
|
||||
}
|
||||
17
homes/modules/programs/neovim/lua/lsp/indentation.lua
Normal file
17
homes/modules/programs/neovim/lua/lsp/indentation.lua
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "lua",
|
||||
callback = function()
|
||||
vim.opt_local.shiftwidth = 2
|
||||
vim.opt_local.tabstop = 2
|
||||
vim.opt_local.expandtab = true
|
||||
end,
|
||||
})
|
||||
|
||||
vim.api.nvim_create_autocmd("FileType", {
|
||||
pattern = "nix",
|
||||
callback = function()
|
||||
vim.opt_local.shiftwidth = 2
|
||||
vim.opt_local.tabstop = 2
|
||||
vim.opt_local.expandtab = true
|
||||
end,
|
||||
})
|
||||
|
|
@ -2,4 +2,5 @@ require("lze").load {
|
|||
{ import = "lsp.completion", },
|
||||
}
|
||||
|
||||
require("lsp.indentation")
|
||||
require("lsp.lsp")
|
||||
|
|
|
|||
|
|
@ -21,6 +21,10 @@ servers.lua_ls = {
|
|||
},
|
||||
}
|
||||
|
||||
servers.nil_ls = {
|
||||
settings = {},
|
||||
}
|
||||
|
||||
local rust_analyzer_cmd = os.getenv("RUST_ANALYZER_CMD")
|
||||
servers.rust_analyzer = {
|
||||
cmd = { rust_analyzer_cmd },
|
||||
|
|
@ -55,6 +59,10 @@ servers.gleam = {
|
|||
settings = {},
|
||||
}
|
||||
|
||||
servers.hls = {
|
||||
settings = {},
|
||||
}
|
||||
|
||||
local java_home = os.getenv("JAVA_HOME")
|
||||
servers.jdtls = {
|
||||
settings = {
|
||||
|
|
@ -120,4 +128,3 @@ require("lze").load {
|
|||
end,
|
||||
},
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,135 +0,0 @@
|
|||
--[[
|
||||
This directory is the luaUtils template.
|
||||
You can choose what things from it that you would like to use.
|
||||
And then delete the rest.
|
||||
Everything in this directory is optional.
|
||||
--]]
|
||||
|
||||
local M = {}
|
||||
-- NOTE: This file contains 2 utilities for making good use of lze and lz.n with nixCats
|
||||
-- The function for loading after directories is useful for both plugins, and also for lazy loading without a plugin,
|
||||
-- but the custom handler will only work with lze.
|
||||
-- If you dont use these plugins, you probably don't need this file.
|
||||
|
||||
---This function is useful for sourcing the after directories of lazily loaded plugins
|
||||
---because vim.cmd.packadd does not do this for you.
|
||||
---
|
||||
---This might be useful when doing lazy loading the vanilla way
|
||||
---as well as when using plugins like lz.n for lazy loading
|
||||
---It is primarily useful for lazily loading nvim-cmp sources,
|
||||
---as they often rely on the after directory to work
|
||||
---
|
||||
---Recieves the names of directories from a plugin's after directory
|
||||
---that you wish to source files from.
|
||||
---Will return a load function that can take a name, or list of names,
|
||||
---and will load a plugin and its after directories.
|
||||
---The function returned is a suitable substitute for the load field of a plugin spec.
|
||||
---
|
||||
---Only makes sense for plugins added via optionalPlugins
|
||||
---or some other opt directory on your packpath
|
||||
---
|
||||
---e.g. in the following example:
|
||||
---load_with_after_plugin will load the plugin names it is given, and their after/plugin dir
|
||||
---
|
||||
---local load_with_after_plugin = require('nixCatsUtils').make_load_with_after({ 'plugin' })
|
||||
---load_with_after_plugin('some_plugin')
|
||||
---@overload fun(dirs: string[]|string): fun(names: string|string[])
|
||||
---It also optionally recieves a function that should load a plugin and return its path
|
||||
---for if the plugin is not on the packpath, or return nil
|
||||
---to load from the packpath or nixCats list as normal
|
||||
---@overload fun(dirs: string[]|string, load: fun(name: string):string|nil): fun(names: string|string[])
|
||||
function M.make_load_with_after(dirs, load)
|
||||
dirs = (type(dirs) == "table" and dirs) or { dirs }
|
||||
local fromPackpath = function(name)
|
||||
for _, packpath in ipairs(vim.opt.packpath:get()) do
|
||||
local plugin_path = vim.fn.globpath(packpath, "pack/*/opt/" .. name, nil, true, true)
|
||||
if plugin_path[1] then
|
||||
return plugin_path[1]
|
||||
end
|
||||
end
|
||||
return nil
|
||||
end
|
||||
---@param plugin_names string[]|string
|
||||
return function(plugin_names)
|
||||
local names = type(plugin_names) == "table" and plugin_names or { plugin_names }
|
||||
local to_source = {}
|
||||
for _, name in ipairs(names) do
|
||||
if type(name) == "string" then
|
||||
local path = (type(load) == "function" and load(name)) or nil
|
||||
if type(path) == "string" then
|
||||
table.insert(to_source, { name = name, path = path })
|
||||
else
|
||||
local ok, err = pcall(vim.cmd.packadd, name)
|
||||
if ok then
|
||||
table.insert(to_source, { name = name, path = nil })
|
||||
else
|
||||
vim.notify(
|
||||
'"packadd '
|
||||
.. name
|
||||
.. '" failed, and path provided by custom load function (if provided) was not a string\n'
|
||||
.. err,
|
||||
vim.log.levels.WARN,
|
||||
{ title = "nixCatsUtils.load_with_after" }
|
||||
)
|
||||
end
|
||||
end
|
||||
else
|
||||
vim.notify(
|
||||
"plugin name was not a string and was instead of value:\n" .. vim.inspect(name),
|
||||
vim.log.levels.WARN,
|
||||
{ title = "nixCatsUtils.load_with_after" }
|
||||
)
|
||||
end
|
||||
end
|
||||
for _, info in pairs(to_source) do
|
||||
local plugpath = info.path or vim.tbl_get(package.loaded, "nixCats", "pawsible", "allPlugins", "opt", info.name) or fromPackpath(info.name)
|
||||
if type(plugpath) == "string" then
|
||||
local afterpath = plugpath .. "/after"
|
||||
for _, dir in ipairs(dirs) do
|
||||
if vim.fn.isdirectory(afterpath) == 1 then
|
||||
local plugin_dir = afterpath .. "/" .. dir
|
||||
if vim.fn.isdirectory(plugin_dir) == 1 then
|
||||
local files = vim.fn.glob(plugin_dir .. "/*", false, true)
|
||||
for _, file in ipairs(files) do
|
||||
if vim.fn.filereadable(file) == 1 then
|
||||
vim.cmd("source " .. file)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
-- A nixCats specific lze handler that you can use to conditionally enable by category easier.
|
||||
-- at the start of your config, register with
|
||||
-- require('lze').register_handlers(require('nixCatsUtils.lzUtils').for_cat)
|
||||
-- before any calls to require('lze').load using the handler have been made.
|
||||
-- accepts:
|
||||
-- for_cat = { "your" "cat" }; for_cat = { cat = { "your" "cat" }, default = bool }
|
||||
-- for_cat = "your.cat"; for_cat = { cat = "your.cat", default = bool }
|
||||
-- where default is an alternate value for when nixCats was NOT used to install the config
|
||||
M.for_cat = {
|
||||
spec_field = "for_cat",
|
||||
set_lazy = false,
|
||||
modify = function(plugin)
|
||||
if type(plugin.for_cat) == "table" then
|
||||
if plugin.for_cat.cat ~= nil then
|
||||
if vim.g[ [[nixCats-special-rtp-entry-nixCats]] ] ~= nil then
|
||||
plugin.enabled = (nixCats(plugin.for_cat.cat) and true) or false
|
||||
else
|
||||
plugin.enabled = nixCats(plugin.for_cat.default)
|
||||
end
|
||||
else
|
||||
plugin.enabled = (nixCats(plugin.for_cat) and true) or false
|
||||
end
|
||||
else
|
||||
plugin.enabled = (nixCats(plugin.for_cat) and true) or false
|
||||
end
|
||||
return plugin
|
||||
end,
|
||||
}
|
||||
|
||||
return M
|
||||
|
|
@ -4,5 +4,4 @@ require("lze").load {
|
|||
{ import = "plugins.treesitter", },
|
||||
{ import = "plugins.fyler", },
|
||||
{ import = "plugins.mini-hipatterns", },
|
||||
--{ import = "plugins.neocord", },
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +0,0 @@
|
|||
return {
|
||||
{
|
||||
"neocord",
|
||||
},
|
||||
}
|
||||
|
|
@ -75,6 +75,10 @@ in {
|
|||
gleam = with pkgs; [
|
||||
gleam
|
||||
];
|
||||
haskell = with pkgs; [
|
||||
haskell-language-server
|
||||
ormolu
|
||||
];
|
||||
java = with pkgs; [
|
||||
jdt-language-server
|
||||
javaPackages.compiler.openjdk17
|
||||
|
|
@ -138,9 +142,6 @@ in {
|
|||
nvim-jdtls
|
||||
];
|
||||
};
|
||||
discord = with pkgs.vimPlugins; [
|
||||
neocord # discord presence plugin :3
|
||||
];
|
||||
};
|
||||
|
||||
# shared libraries to be added to LD_LIBRARY_PATH
|
||||
|
|
@ -213,7 +214,6 @@ in {
|
|||
lsp = true;
|
||||
completion = true;
|
||||
treesitter = true;
|
||||
discord = false;
|
||||
|
||||
lang = {
|
||||
lua = true;
|
||||
|
|
@ -222,6 +222,7 @@ in {
|
|||
zig = true;
|
||||
elixir = true;
|
||||
gleam = true;
|
||||
haskell = true;
|
||||
java = true;
|
||||
};
|
||||
};
|
||||
|
|
|
|||
20
homes/modules/themeing/wallust/templates/rofi-template.rasi
Normal file
20
homes/modules/themeing/wallust/templates/rofi-template.rasi
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
* {
|
||||
background: rgba({{ background | rgb }},0.9);
|
||||
foreground: rgba({{ foreground | rgb }},0.9);
|
||||
color00: rgba({{ color0 | rgb }},0.9);
|
||||
color01: rgba({{ color1 | rgb }},0.9);
|
||||
color02: rgba({{ color2 | rgb }},0.9);
|
||||
color03: rgba({{ color3 | rgb }},0.9);
|
||||
color04: rgba({{ color4 | rgb }},0.9);
|
||||
color05: rgba({{ color5 | rgb }},0.9);
|
||||
color06: rgba({{ color6 | rgb }},0.9);
|
||||
color07: rgba({{ color7 | rgb }},0.9);
|
||||
color08: rgba({{ color8 | rgb }},0.9);
|
||||
color09: rgba({{ color9 | rgb }},0.9);
|
||||
color10: rgba({{ color10 | rgb }},0.9);
|
||||
color11: rgba({{ color11 | rgb }},0.9);
|
||||
color12: rgba({{ color12 | rgb }},0.9);
|
||||
color13: rgba({{ color13 | rgb }},0.9);
|
||||
color14: rgba({{ color14 | rgb }},0.9);
|
||||
color15: rgba({{ color15 | rgb }},0.9);
|
||||
}
|
||||
|
|
@ -22,6 +22,9 @@ hyprland.target = "~/.config/hypr/colors.conf"
|
|||
waybar.template = "waybar-template.css"
|
||||
waybar.target = "~/.config/waybar/colors.css"
|
||||
|
||||
rofi.template = "rofi-template.rasi"
|
||||
rofi.target = "~/.config/rofi/colors.rasi"
|
||||
|
||||
neovim.template = "neovim-template"
|
||||
neovim.target = "~/.cache/nvim/neovim-colors"
|
||||
|
||||
|
|
|
|||
|
|
@ -278,12 +278,15 @@
|
|||
];
|
||||
|
||||
layerrule = [
|
||||
#"blur, rofi"
|
||||
#"ignorezero, rofi"
|
||||
#"blur, aurorashell"
|
||||
#"ignorealpha 0.7, aurorashell"
|
||||
"blur on, match:namespace waybar"
|
||||
"ignore_alpha 0, match:namespace waybar"
|
||||
#"blur, aurorashell"
|
||||
#"ignorealpha 0.7, aurorashell"
|
||||
|
||||
"blur on, match:namespace waybar"
|
||||
"ignore_alpha 0, match:namespace waybar"
|
||||
|
||||
"blur on, match:namespace rofi"
|
||||
"xray on, match:namespace rofi"
|
||||
"ignore_alpha 0, match:namespace rofi"
|
||||
];
|
||||
|
||||
env = [
|
||||
|
|
|
|||
117
hosts/arcturus/default.nix
Normal file
117
hosts/arcturus/default.nix
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
networking.hostName = "arcturus";
|
||||
|
||||
time.timeZone = "Europe/London";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "us";
|
||||
};
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
useNetworkd = false;
|
||||
useDHCP = false;
|
||||
|
||||
nftables.enable = true;
|
||||
|
||||
firewall = {
|
||||
allowedTCPPorts = [
|
||||
2222
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
|
||||
netdevs = {
|
||||
"10-bond0" = {
|
||||
netdevConfig = {
|
||||
Kind = "bond";
|
||||
Name = "bond0";
|
||||
};
|
||||
bondConfig = {
|
||||
Mode = "802.3ad";
|
||||
TransmitHashPolicy = "layer3+4";
|
||||
LACPTransmitRate = "fast";
|
||||
MIIMonitorSec = "100ms";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
networks = {
|
||||
"30-eno1" = {
|
||||
matchConfig.Name = "eno1";
|
||||
networkConfig.Bond = "bond0";
|
||||
};
|
||||
"30-eno2" = {
|
||||
matchConfig.Name = "eno2";
|
||||
networkConfig.Bond = "bond0";
|
||||
};
|
||||
"40-bond0" = {
|
||||
matchConfig.Name = "bond0";
|
||||
linkConfig = {
|
||||
RequiredForOnline = "carrier";
|
||||
};
|
||||
networkConfig.LinkLocalAddressing = "no";
|
||||
networkConfig.DHCP = "yes";
|
||||
vlan = [ "vlan1" ];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
|
||||
ports = [2222];
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
PermitRootLogin = "no";
|
||||
AllowUsers = ["foxora"];
|
||||
UseDns = false; # enables rDNS lookup
|
||||
X11Forwarding = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
users.users.foxora = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
|
||||
packages = with pkgs; [
|
||||
tree
|
||||
];
|
||||
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIE7NLaT/J1S/lwFp0YRHN5oTGhFoDYd2yaRKKsBVpqIv aurora@nixarawrui"
|
||||
];
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
neovim
|
||||
git
|
||||
wget
|
||||
];
|
||||
|
||||
variables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
33
hosts/arcturus/hardware-configuration.nix
Normal file
33
hosts/arcturus/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# 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, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ahci" "ehci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" "sr_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/7f22e35f-7536-49c4-9c04-88874e87f266";
|
||||
fsType = "btrfs";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/0213-F9A0";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/0d04172b-aed8-42ea-9cb8-e5dcbf960200"; }
|
||||
];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
94
hosts/lyra/default.nix
Normal file
94
hosts/lyra/default.nix
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
./hardware-configuration.nix
|
||||
];
|
||||
|
||||
networking.hostName = "lyra";
|
||||
|
||||
time.timeZone = "Europe/London";
|
||||
i18n.defaultLocale = "en_US.UTF-8";
|
||||
console = {
|
||||
font = "Lat2-Terminus16";
|
||||
keyMap = "us";
|
||||
};
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_latest;
|
||||
loader = {
|
||||
systemd-boot.enable = true;
|
||||
efi.canTouchEfiVariables = true;
|
||||
};
|
||||
};
|
||||
|
||||
networking = {
|
||||
networkmanager.enable = true;
|
||||
|
||||
firewall = {
|
||||
allowedTCPPorts = [
|
||||
2222
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
services = {
|
||||
openssh = {
|
||||
enable = true;
|
||||
|
||||
ports = [2222];
|
||||
settings = {
|
||||
PasswordAuthentication = false;
|
||||
PermitRootLogin = "no";
|
||||
AllowUsers = ["foxora"];
|
||||
UseDns = false; # enables rDNS lookup
|
||||
X11Forwarding = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
virtualisation.containers.enable = true;
|
||||
virtualisation = {
|
||||
podman = {
|
||||
enable = true;
|
||||
dockerCompat = true;
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
};
|
||||
};
|
||||
|
||||
users.users.foxora = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [ "wheel" ];
|
||||
|
||||
packages = with pkgs; [
|
||||
tree
|
||||
];
|
||||
|
||||
openssh.authorizedKeys.keys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAID4d6Pt4fFTP0/ZfesNL+MX+j/OqoMRBOh61gqHNWpnH aurora@nixarawrui"
|
||||
];
|
||||
};
|
||||
|
||||
programs = {
|
||||
nh = {
|
||||
enable = true;
|
||||
clean.enable = true;
|
||||
clean.extraArgs = "--keep-since 14d --keep 8";
|
||||
flake = "/etc/nixos";
|
||||
};
|
||||
};
|
||||
|
||||
environment = {
|
||||
systemPackages = with pkgs; [
|
||||
neovim
|
||||
git
|
||||
wget
|
||||
];
|
||||
|
||||
variables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
};
|
||||
|
||||
system.stateVersion = "25.11";
|
||||
}
|
||||
|
||||
33
hosts/lyra/hardware-configuration.nix
Normal file
33
hosts/lyra/hardware-configuration.nix
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
# 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, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "ahci" "xhci_pci" "megaraid_sas" "usb_storage" "usbhid" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-intel" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/1bc53888-6db8-46df-aa28-975b710c5de8";
|
||||
fsType = "ext4";
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/12CE-A600";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0077" "dmask=0077" ];
|
||||
};
|
||||
|
||||
swapDevices =
|
||||
[ { device = "/dev/disk/by-uuid/60643004-6916-46b3-8655-66fdc28cf5ad"; }
|
||||
];
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.intel.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
||||
|
|
@ -10,12 +10,6 @@
|
|||
./modules/amdgpu-ignore-ctx-privileges.nix
|
||||
];
|
||||
|
||||
# Enable the Flakes feature and the accompaying new nix command-line tool
|
||||
nix.settings = {
|
||||
experimental-features = ["nix-command" "flakes"];
|
||||
download-buffer-size = 524288000;
|
||||
};
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot = rec {
|
||||
initrd.kernelModules = ["amdgpu"];
|
||||
|
|
@ -155,7 +149,6 @@
|
|||
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
|
||||
udev = {
|
||||
|
|
@ -336,27 +329,5 @@
|
|||
inputs.nix-alien.packages.${stdenv.hostPlatform.system}.nix-alien
|
||||
];
|
||||
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
# system.copySystemConfiguration = true;
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||
#
|
||||
# Most users should NEVER change this value after the initial install, for any reason,
|
||||
# even if you've upgraded your system to a new NixOS release.
|
||||
#
|
||||
# This value does NOT affect the Nixupkgs version your packages and OS are pulled from,
|
||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
||||
# to actually do that.
|
||||
#
|
||||
# This value being lower than the current NixOS release does NOT mean your system is
|
||||
# out of date, out of support, or vulnerable.
|
||||
#
|
||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||
# and migrated your data accordingly.
|
||||
#
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "24.11"; # Did you read the comment?
|
||||
system.stateVersion = "24.11";
|
||||
}
|
||||
|
|
|
|||
12
nixpkgs.nix
12
nixpkgs.nix
|
|
@ -4,7 +4,16 @@
|
|||
...
|
||||
} @ args: {
|
||||
nixpkgs.channels.default = rec {
|
||||
default = upkgs;
|
||||
default = pkgs;
|
||||
|
||||
# nixpkgs
|
||||
pkgs = {
|
||||
inherit system;
|
||||
source = inputs.nixpkgs;
|
||||
overlays = [];
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
# nixpkgs-unstable
|
||||
upkgs = {
|
||||
inherit system;
|
||||
|
|
@ -19,6 +28,7 @@
|
|||
|
||||
config.allowUnfree = true;
|
||||
};
|
||||
|
||||
# nixpkgs-staging
|
||||
spkgs = {
|
||||
inherit system;
|
||||
|
|
|
|||
46
snow.nix
46
snow.nix
|
|
@ -7,13 +7,57 @@ cerulean.mkNexus ./. (self: {
|
|||
home-manager.nixosModules.home-manager
|
||||
];
|
||||
|
||||
nodes = {
|
||||
groups = {
|
||||
unstable-base = {};
|
||||
servers = {};
|
||||
};
|
||||
|
||||
nodes = let
|
||||
inherit
|
||||
(self.nexus)
|
||||
groups
|
||||
;
|
||||
in
|
||||
{
|
||||
nixarawrui = {
|
||||
system = "x86_64-linux";
|
||||
|
||||
groups = [
|
||||
groups.unstable-base
|
||||
];
|
||||
|
||||
extraModules = with inputs; [
|
||||
sddm-silent.nixosModules.default
|
||||
];
|
||||
};
|
||||
|
||||
arcturus = {
|
||||
system = "x86_64-linux";
|
||||
|
||||
groups = [
|
||||
groups.servers
|
||||
];
|
||||
|
||||
deploy.ssh = {
|
||||
host = "10.16.1.163";
|
||||
port = 2222;
|
||||
user = "foxora";
|
||||
};
|
||||
};
|
||||
|
||||
lyra = {
|
||||
system = "x86_64-linux";
|
||||
|
||||
groups = [
|
||||
groups.servers
|
||||
];
|
||||
|
||||
deploy.ssh = {
|
||||
host = "10.16.1.58";
|
||||
port = 2222;
|
||||
user = "foxora";
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
})
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue