This commit is contained in:
Michael Thomas 2024-06-16 12:26:25 -04:00
commit 068376e3a6
22 changed files with 460 additions and 364 deletions

182
flake.lock generated
View File

@ -10,11 +10,11 @@
"systems": "systems"
},
"locked": {
"lastModified": 1716561646,
"narHash": "sha256-UIGtLO89RxKt7RF2iEgPikSdU53r6v/6WYB0RW3k89I=",
"lastModified": 1718371084,
"narHash": "sha256-abpBi61mg0g+lFFU0zY4C6oP6fBwPzbHPKBGw676xsA=",
"owner": "ryantm",
"repo": "agenix",
"rev": "c2fc0762bbe8feb06a2e59a364fa81b3a57671c9",
"rev": "3a56735779db467538fb2e577eda28a9daacaca6",
"type": "github"
},
"original": {
@ -91,11 +91,11 @@
]
},
"locked": {
"lastModified": 1716993688,
"narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
"lastModified": 1718345812,
"narHash": "sha256-FJhA+YFsOFrAYe6EaiTEfomNf7jeURaPiG5/+a3DRSc=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
"rev": "ff988d78f2f55641efacdf9a585d2937f7e32a9b",
"type": "github"
},
"original": {
@ -114,11 +114,11 @@
]
},
"locked": {
"lastModified": 1713532798,
"narHash": "sha256-wtBhsdMJA3Wa32Wtm1eeo84GejtI43pMrFrmwLXrsEc=",
"lastModified": 1717408969,
"narHash": "sha256-Q0OEFqe35fZbbRPPRdrjTUUChKVhhWXz3T9ZSKmaoVY=",
"owner": "numtide",
"repo": "devshell",
"rev": "12e914740a25ea1891ec619bb53cf5e6ca922e40",
"rev": "1ebbe68d57457c8cae98145410b164b5477761f4",
"type": "github"
},
"original": {
@ -197,11 +197,11 @@
]
},
"locked": {
"lastModified": 1715865404,
"narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=",
"lastModified": 1717285511,
"narHash": "sha256-iKzJcpdXih14qYVcZ9QC9XuZYnPc6T8YImb6dX166kw=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9",
"rev": "2a55567fcf15b1b1c7ed712a2c6fadaec7412ea8",
"type": "github"
},
"original": {
@ -210,21 +210,6 @@
"type": "github"
}
},
"flake-root": {
"locked": {
"lastModified": 1713493429,
"narHash": "sha256-ztz8JQkI08tjKnsTpfLqzWoKFQF4JGu2LRz8bkdnYUk=",
"owner": "srid",
"repo": "flake-root",
"rev": "bc748b93b86ee76e2032eecda33440ceb2532fcd",
"type": "github"
},
"original": {
"owner": "srid",
"repo": "flake-root",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems_3"
@ -347,11 +332,11 @@
]
},
"locked": {
"lastModified": 1716213921,
"narHash": "sha256-xrsYFST8ij4QWaV6HEokCUNIZLjjLP1bYC60K8XiBVA=",
"lastModified": 1717664902,
"narHash": "sha256-7XfBuLULizXjXfBYy/VV+SpYMHreNRHk9nKMsm1bgb4=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "0e8fcc54b842ad8428c9e705cb5994eaf05c26a0",
"rev": "cc4d466cb1254af050ff7bdf47f6d404a7c646d1",
"type": "github"
},
"original": {
@ -410,11 +395,11 @@
]
},
"locked": {
"lastModified": 1716736833,
"narHash": "sha256-rNObca6dm7Qs524O4st8VJH6pZ/Xe1gxl+Rx6mcWYo0=",
"lastModified": 1717527182,
"narHash": "sha256-vWSkg6AMok1UUQiSYVdGMOXKD2cDFnajITiSi0Zjd1A=",
"owner": "rycee",
"repo": "home-manager",
"rev": "a631666f5ec18271e86a5cde998cba68c33d9ac6",
"rev": "845a5c4c073f74105022533907703441e0464bc3",
"type": "github"
},
"original": {
@ -432,11 +417,11 @@
]
},
"locked": {
"lastModified": 1717052710,
"narHash": "sha256-LRhOxzXmOza5SymhOgnEzA8EAQp+94kkeUYWKKpLJ/U=",
"lastModified": 1718141734,
"narHash": "sha256-cA+6l8ZCZ7MXGijVuY/1f55+wF/RT4PlTR9+g4bx86w=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "29c69d9a466e41d46fd3a7a9d0591ef9c113c2ae",
"rev": "892f76bd0aa09a0f7f73eb41834b8a904b6d0fad",
"type": "github"
},
"original": {
@ -461,11 +446,11 @@
]
},
"locked": {
"lastModified": 1716576411,
"narHash": "sha256-FIN1wMoyePBTtibCbaeJaoKNLuAYIGwLCWAYC1DJanw=",
"lastModified": 1718368322,
"narHash": "sha256-VfMg3RsnRLQzbq0hFIh1dCM09b5C/F/qPFUOgU/CRi0=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "57298fc4f13c807e50ada2c986a3114b7fc2e621",
"rev": "dd3a853c8239d1c3f3f37de7d2b8ae4b4f3840df",
"type": "github"
},
"original": {
@ -478,17 +463,18 @@
"inputs": {
"hyprcursor": "hyprcursor",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"nixpkgs": "nixpkgs_2",
"systems": "systems_2",
"xdph": "xdph"
},
"locked": {
"lastModified": 1717442018,
"narHash": "sha256-GhL4f5CedZE0UiuzUFkMwGXD+zqlhrzo0y4FC4wQLTM=",
"lastModified": 1718395253,
"narHash": "sha256-kbXUz5Pg0ph9HD9wRO0w+kyCyX9n1YuED0WZGIH8GH4=",
"ref": "refs/heads/main",
"rev": "5517cc506b2754cb2485b1bf3e46918ee638ea6d",
"revCount": 4760,
"rev": "cb63398f079b4b4324c04e2e41ba17983d66487c",
"revCount": 4829,
"submodules": true,
"type": "git",
"url": "https://github.com/hyprwm/Hyprland"
@ -528,6 +514,10 @@
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
@ -538,11 +528,11 @@
]
},
"locked": {
"lastModified": 1716473782,
"narHash": "sha256-+qLn4lsHU6iL3+HTo1gTQ1tWzet8K9h+IfVemzEQZj8=",
"lastModified": 1717881852,
"narHash": "sha256-XeeVoKHQgfKuXoP6q90sUqKyl7EYy3ol2dVZGM+Jj94=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "87d5d984109c839482b88b4795db073eb9ed446f",
"rev": "ec6938c66253429192274d612912649a0cfe4d28",
"type": "github"
},
"original": {
@ -551,6 +541,31 @@
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1718271409,
"narHash": "sha256-8KvVqtApNt4FWTdn1TqVvw00rpqyG9UuUPA2ilPVD1U=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "8e10e0626fb26a14b859b3811b6ed7932400c86e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
@ -563,11 +578,11 @@
]
},
"locked": {
"lastModified": 1716058375,
"narHash": "sha256-CwjWoVnBZE5SBpRx9dgSQGCr4Goxyfcyv3zZbOhVqzk=",
"lastModified": 1718119275,
"narHash": "sha256-nqDYXATNkyGXVmNMkT19fT4sjtSPBDS1LLOxa3Fueo4=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "3afed4364790aebe0426077631af1e164a9650cc",
"rev": "1419520d5f7f38d35e05504da5c1b38212a38525",
"type": "github"
},
"original": {
@ -586,11 +601,11 @@
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1717443201,
"narHash": "sha256-a0ZXSNQvklHhUkCnX+4wGN8Bu5WkG+I85h7NcKlehdk=",
"lastModified": 1718313789,
"narHash": "sha256-GFKLeZGIfMmLxeBNQyboh41i7Ca58G0tY0m+aOcxMNs=",
"owner": "JakeStanger",
"repo": "ironbar",
"rev": "6e921eb567164f4ad46a7c74d665b3dc6223f928",
"rev": "d0bdf31ee9abb22e16cd7ea691da61319cb89990",
"type": "github"
},
"original": {
@ -625,11 +640,11 @@
]
},
"locked": {
"lastModified": 1716993688,
"narHash": "sha256-vo5k2wQekfeoq/2aleQkBN41dQiQHNTniZeVONWiWLs=",
"lastModified": 1717976995,
"narHash": "sha256-u3HBinyIyUvL1+N816bODpJmSQdgn0Mbb8BprFw7kqo=",
"owner": "lnl7",
"repo": "nix-darwin",
"rev": "c0d5b8c54d6828516c97f6be9f2d00c63a363df4",
"rev": "315aa649ba307704db0b16c92f097a08a65ec955",
"type": "github"
},
"original": {
@ -645,11 +660,11 @@
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1717377936,
"narHash": "sha256-6inBsoiYEsTNJExq1G+0imL5pcDx1IkPf7PUqHARwmU=",
"lastModified": 1718328588,
"narHash": "sha256-dTuHdsZkPJg2YS7S/04d5gLpLqCmKEGuJkRO0yHklgo=",
"owner": "nix-community",
"repo": "nix-vscode-extensions",
"rev": "1ae16af500525f1ca1b3295f5ee4e2b1b26f3004",
"rev": "ae25cb00075c72a2a91497814a11a00f567f5f75",
"type": "github"
},
"original": {
@ -667,11 +682,11 @@
]
},
"locked": {
"lastModified": 1716640344,
"narHash": "sha256-AZKQs+KrL70le0RZH8XqZJMc2SahU4LpfEJ2Vd5SWzM=",
"lastModified": 1717976391,
"narHash": "sha256-STKlWaiiFKDybexvQCg5U1+DSLRaxT93NwVaiBSEvTI=",
"owner": "nix-community",
"repo": "NixOS-WSL",
"rev": "020cd466170204e448b24b246045599fce69ad91",
"rev": "e3f215e518d52f6f2e68cf713cefe773284e1aa6",
"type": "github"
},
"original": {
@ -702,7 +717,7 @@
"narHash": "sha256-8BO3B7e3BiyIDsaKA0tY8O88rClYRTjvAp66y+VBUeU=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "5710852ba686cc1fd0d3b8e22b3117d43ba374c2",
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
"type": "github"
},
"original": {
@ -744,11 +759,11 @@
},
"nixpkgs_5": {
"locked": {
"lastModified": 1717144377,
"narHash": "sha256-F/TKWETwB5RaR8owkPPi+SPJh83AQsm6KrQAlJ8v/uA=",
"lastModified": 1718208800,
"narHash": "sha256-US1tAChvPxT52RV8GksWZS415tTS7PV42KTc2PNDBmc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "805a384895c696f802a9bf5bf4720f37385df547",
"rev": "cc54fb41d13736e92229c21627ea4f22199fee6b",
"type": "github"
},
"original": {
@ -778,7 +793,6 @@
"devshell": "devshell",
"flake-compat": "flake-compat_3",
"flake-parts": "flake-parts",
"flake-root": "flake-root",
"git-hooks": "git-hooks",
"home-manager": "home-manager_3",
"nix-darwin": "nix-darwin",
@ -788,11 +802,11 @@
"treefmt-nix": "treefmt-nix"
},
"locked": {
"lastModified": 1717444597,
"narHash": "sha256-8enVHsN7hLn1hPkY1U5Cfr3rzij4FsWRUx4jjHUHZQE=",
"lastModified": 1718376125,
"narHash": "sha256-NIJZxmY2CWsqJK/9BQCRSHfcCY9K6thjq/1XtJobxmU=",
"owner": "nix-community",
"repo": "nixvim",
"rev": "b7a8b0319098fdbaa719ef4dc375337ec4543c6e",
"rev": "7a2a25af02be25987aa43cd681312f4b5ba12317",
"type": "github"
},
"original": {
@ -803,11 +817,11 @@
},
"nur": {
"locked": {
"lastModified": 1717443933,
"narHash": "sha256-hKPYAOnbqvy/eZMsp85KRHn5+K3QkGeU8cyLiXtxT48=",
"lastModified": 1718397909,
"narHash": "sha256-nQd/7GPc4OC0OY+uw0m2BbfXWj41jRoRotsUBarbN04=",
"owner": "nix-community",
"repo": "NUR",
"rev": "0122b0f415811dd2a367f362a595070b6451ff9a",
"rev": "24123cf5fea48b71954e81b0f4fe5db127109979",
"type": "github"
},
"original": {
@ -863,11 +877,11 @@
"nixpkgs": "nixpkgs_6"
},
"locked": {
"lastModified": 1717442957,
"narHash": "sha256-w0fqHofxM2hf3pGDXCPSdH0A09v6FgHm6I38nCWA96k=",
"lastModified": 1718331519,
"narHash": "sha256-6Ru37wS8uec626nHVIh6hSpCYB7eNc3RPFa2U//bhw4=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "025e1742de4fa75b3fb63818bd9726d17da6a102",
"rev": "419e7fae2731f41dd9b3e34dfe8802be68558b92",
"type": "github"
},
"original": {
@ -1019,11 +1033,11 @@
]
},
"locked": {
"lastModified": 1715940852,
"narHash": "sha256-wJqHMg/K6X3JGAE9YLM0LsuKrKb4XiBeVaoeMNlReZg=",
"lastModified": 1718139168,
"narHash": "sha256-1TZQcdETNdJMcfwwoshVeCjwWfrPtkSQ8y8wFX3it7k=",
"owner": "numtide",
"repo": "treefmt-nix",
"rev": "2fba33a182602b9d49f0b2440513e5ee091d838b",
"rev": "1cb529bffa880746a1d0ec4e0f5076876af931f1",
"type": "github"
},
"original": {
@ -1034,11 +1048,11 @@
},
"unstable": {
"locked": {
"lastModified": 1717196966,
"narHash": "sha256-yZKhxVIKd2lsbOqYd5iDoUIwsRZFqE87smE2Vzf6Ck0=",
"lastModified": 1718318537,
"narHash": "sha256-4Zu0RYRcAY/VWuu6awwq4opuiD//ahpc2aFHg2CWqFY=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "57610d2f8f0937f39dbd72251e9614b1561942d8",
"rev": "e9ee548d90ff586a6471b4ae80ae9cfcbceb3420",
"type": "github"
},
"original": {
@ -1103,11 +1117,11 @@
]
},
"locked": {
"lastModified": 1716290197,
"narHash": "sha256-1u9Exrc7yx9qtES2brDh7/DDZ8w8ap1nboIOAtCgeuM=",
"lastModified": 1718272114,
"narHash": "sha256-KsX7sAwkEFpXiwyjt0HGTnnrUU58wW1jlzj5IA/LRz8=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "91e48d6acd8a5a611d26f925e51559ab743bc438",
"rev": "24be4a26f0706e456fca1b61b8c79f7486a9e86d",
"type": "github"
},
"original": {

View File

@ -70,6 +70,12 @@
home-manager.nixosModules.home-manager
./modules
];
baseHomeModule = {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {inherit inputs;};
};
in {
# Your custom packages
# Accessible through 'nix build', 'nix shell', etc
@ -86,12 +92,11 @@
};
nixosConfigurations = let
homeModule = {
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.extraSpecialArgs = {inherit inputs;};
home-manager.users.michael = import ./user/environments/nixos/home.nix;
};
homeModule =
baseHomeModule
// {
home-manager.users.michael = import ./user/environments/nixos/home.nix;
};
in {
kitchen = nixpkgs.lib.nixosSystem {
system = utils.lib.system.x86_64-linux;
@ -156,7 +161,10 @@
defaultModules
++ [
./modules/nix.nix
homeModule
baseHomeModule
{
home-manager.users.michael = import ./user/environments/nixos-server/home.nix;
}
agenix.nixosModules.default
{
environment.systemPackages = [
@ -192,9 +200,8 @@
modules = [
self.overlaysModule
home-manager.darwinModules.home-manager
baseHomeModule
{
home-manager.useGlobalPkgs = true;
home-manager.useUserPackages = true;
home-manager.users.michael = import ./user/environments/mac/home.nix;
}

View File

@ -38,6 +38,10 @@
publicKey = "iKJO9Q8LsdCdApapTX9CJmrtAKn1TYhg4YUiBUBPzmo=";
allowedIPs = ["10.0.10.2/32"];
}
{
publicKey = "IM7i+2BFsa+XyA4V4jd8iM+jpW307rDEkPOGdSddfzI=";
allowedIPs = ["10.0.10.3/32"];
}
];
};
};

View File

@ -80,9 +80,13 @@ in {
privileged = true;
valid_volumes = ["*"];
force_pull = false;
network = "bridge";
};
};
labels = [];
labels = [
"debian-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest"
"ubuntu-latest:docker://ghcr.io/catthehacker/ubuntu:act-latest"
];
tokenFile = config.age.secrets.forgejoActions.path;
};
};
@ -90,8 +94,7 @@ in {
(mkIf cfg.proxy {
services.caddy.virtualHosts."${forgejoDomain}".extraConfig = ''
handle_errors {
status 502
respond "This server is currently unavailable."
respond "This server is currently unavailable." 502
}
redir /user/login /user/oauth2/Keycloak?{query}

View File

@ -11,6 +11,22 @@ with lib; let
title = "Dashboard";
header = false;
footer = false;
colors = {
dark = {
highlight-primary = "#cc241d";
highlight-secondary = "#8ec07c";
highlight-hover = "#d79921";
background = "rgb(40,36,34)";
card-background = "#3c3836";
text = "#eaeaea";
text-header = "#ffffff";
text-title = "#fafafa";
text-subtitle = "#f5f5f5";
card-shadow = "rgba(0, 0, 0, 0.4)";
link = "#3273dc";
link-hover = "#ffdd57";
};
};
connectivityCheck = true;
columns = "auto";
services = config.lib.webapps.homerServices;

View File

@ -1,8 +1,22 @@
{
helpers,
icons,
...
}: {
plugins = {
bufferline = {
enable = true;
separatorStyle = "thick"; # “slant”, “padded_slant”, “slope”, “padded_slope”, “thick”, “thin”
separatorStyle = "thin"; # “slant”, “padded_slant”, “slope”, “padded_slope”, “thick”, “thin”
alwaysShowBufferline = false;
diagnostics = "nvim_lsp";
diagnosticsIndicator = ''
function(_, _, diag)
local icons = ${helpers.toLuaObject icons.diagnostics}
local ret = (diag.error and icons.Error .. diag.error .. " " or "")
.. (diag.warning and icons.Warn .. diag.warning or "")
return vim.trim(ret)
end
'';
offsets = [
{
filetype = "neo-tree";

View File

@ -0,0 +1,5 @@
{
colorschemes.gruvbox = {
enable = true;
};
}

View File

@ -1,11 +1,5 @@
{
plugins = {
cmp-nvim-lsp = {enable = true;}; # lsp
cmp-buffer = {enable = true;};
copilot-cmp = {enable = true;}; # copilot suggestions
cmp-path = {enable = true;}; # file system paths
cmp_luasnip = {enable = true;}; # snippets
cmp-cmdline = {enable = false;}; # autocomplete for cmdline
cmp = {
enable = true;
autoEnableSources = false;
@ -70,6 +64,13 @@
};
};
};
# Completion from Language Server
cmp-nvim-lsp.enable = true; # lsp
# Completion for buffer words
cmp-buffer.enable = true;
# Completion for file system paths
cmp-path.enable = true;
};
extraConfigLua = ''
luasnip = require("luasnip")

View File

@ -1,46 +0,0 @@
{
plugins.copilot-lua = {
enable = true;
panel = {
enabled = false;
autoRefresh = true;
keymap = {
jumpPrev = "[[";
jumpNext = "]]";
accept = "<CR>";
refresh = "gr";
open = "<M-CR>";
};
layout = {
position = "bottom"; # | top | left | right
ratio = 0.4;
};
};
suggestion = {
enabled = false;
autoTrigger = true;
debounce = 75;
keymap = {
accept = "<M-l>";
acceptWord = false;
acceptLine = false;
next = "<M-]>";
prev = "<M-[>";
dismiss = "<C-]>";
};
};
filetypes = {
yaml = false;
markdown = false;
help = false;
gitcommit = false;
gitrebase = false;
hgcommit = false;
svn = false;
cvs = false;
"." = false;
};
copilotNodeCommand = "node"; # Node.js version must be > 18.x
serverOptsOverrides = {};
};
}

View File

@ -1,12 +0,0 @@
{
plugins.lspkind = {
enable = true;
symbolMap = {
Copilot = "";
};
extraOptions = {
maxwidth = 50;
ellipsis_char = "...";
};
};
}

View File

@ -6,13 +6,12 @@
./bufferlines/bufferline.nix
./colorschemes/base16.nix
./colorschemes/catppuccin.nix
./colorschemes/rose-pine.nix
# ./colorschemes/base16.nix
# ./colorschemes/catppuccin.nix
# ./colorschemes/rose-pine.nix
./colorschemes/gruvbox.nix
./completion/cmp.nix
./completion/copilot.nix
./completion/lspkind.nix
./dap/dap.nix
@ -42,7 +41,6 @@
./snippets/luasnip.nix
./statusline/lualine.nix
./statusline/staline.nix
./telescope/telescope.nix
@ -54,7 +52,6 @@
./ui/nui.nix
./utils/better-escape.nix
./utils/neocord.nix
./utils/flash.nix
./utils/hardtime.nix
./utils/harpoon.nix
@ -63,7 +60,6 @@
./utils/mini.nix
./utils/neodev.nix
./utils/neotest.nix
./utils/nvim-autopairs.nix
./utils/nvim-colorizer.nix
./utils/nvim-surround.nix
./utils/oil.nix
@ -77,7 +73,6 @@
./utils/ultimate-autopair.nix
./utils/undotree.nix
./utils/vim-be-good.nix
# ./utils/wakatime.nix
./utils/whichkey.nix
./utils/wilder.nix
];

View File

@ -0,0 +1,64 @@
{
misc = {
dots = "󰇘";
};
dap = {
Stopped = ["󰁕 " "DiagnosticWarn" "DapStoppedLine"];
Breakpoint = " ";
BreakpointCondition = " ";
BreakpointRejected = [" " "DiagnosticError"];
LogPoint = ".>";
};
diagnostics = {
Error = " ";
Warn = " ";
Hint = " ";
Info = " ";
};
git = {
added = " ";
modified = " ";
removed = " ";
};
kinds = {
Array = " ";
Boolean = "󰨙 ";
Class = " ";
Codeium = "󰘦 ";
Color = " ";
Control = " ";
Collapsed = " ";
Constant = "󰏿 ";
Constructor = " ";
Copilot = " ";
Enum = " ";
EnumMember = " ";
Event = " ";
Field = " ";
File = " ";
Folder = " ";
Function = "󰊕 ";
Interface = " ";
Key = " ";
Keyword = " ";
Method = "󰊕 ";
Module = " ";
Namespace = "󰦮 ";
Null = " ";
Number = "󰎠 ";
Object = " ";
Operator = " ";
Package = " ";
Property = " ";
Reference = " ";
Snippet = " ";
String = " ";
Struct = "󰆼 ";
TabNine = "󰏚 ";
Text = " ";
TypeParameter = " ";
Unit = " ";
Value = " ";
Variable = "󰀫 ";
};
}

View File

@ -2,7 +2,7 @@
plugins.lint = {
enable = true;
lintersByFt = {
nix = ["satix"];
nix = ["statix"];
lua = ["selene"];
python = ["flake8"];
javascript = ["eslint_d"];

View File

@ -1,4 +1,4 @@
{
{icons, ...}: {
plugins = {
lsp-format = {
enable = false; # Enable it if you want lsp-format integration for none-ls
@ -24,7 +24,7 @@
};
};
};
nil_ls = {enable = true;};
nil-ls = {enable = true;};
tsserver = {
enable = false;
filetypes = ["javascript" "javascriptreact" "typescript" "typescriptreact"];
@ -156,9 +156,17 @@
}
)
vim.diagnostic.config{
float={border=_border}
};
vim.diagnostic.config({
float={border=_border},
signs = {
text = {
[vim.diagnostic.severity.ERROR] = "${icons.diagnostics.Error}",
[vim.diagnostic.severity.WARN] = "${icons.diagnostics.Warn}",
[vim.diagnostic.severity.HINT] = "${icons.diagnostics.Hint}",
[vim.diagnostic.severity.INFO] = "${icons.diagnostics.Info}",
},
},
})
require('lspconfig.ui.windows').default_options = {
border = _border

View File

@ -18,7 +18,7 @@
showCodeAction = true;
};
symbolInWinbar = {
enable = true; # Breadcrumbs
enable = false; # Breadcrumbs
};
codeAction = {
extendGitSigns = false;

View File

@ -1,10 +1,11 @@
{
pkgs,
lib,
config,
...
}: {
config = {
# Set colorscheme
colorscheme = "gruvbox";
# Enable experimental lua loader
luaLoader.enable = true;
opts = {
# Enable relative line numbers
number = true;
@ -87,7 +88,7 @@
# Change cursor options
guicursor = [
"n-v-c:block" # Normal, visual, command-line: block cursor
"i-ci-ve:block" # Insert, command-line insert, visual-exclude: vertical bar cursor with block cursor, use "ver25" for 25% width
"i-ci-ve:ver25" # Insert, command-line insert, visual-exclude: vertical bar cursor with block cursor, use "ver25" for 25% width
"r-cr:hor20" # Replace, command-line replace: horizontal bar cursor with 20% height
"o:hor50" # Operator-pending: horizontal bar cursor with 50% height
"a:blinkwait700-blinkoff400-blinkon250-Cursor/lCursor" # All modes: blinking settings
@ -95,7 +96,7 @@
];
# Enable chars list
list = true; # Show invisible characters (tabs, eol, ...)
list = false; # Show invisible characters (tabs, eol, ...)
listchars = "eol:,tab:|->,lead:·,space: ,trail:,extends:,precedes:,nbsp:";
# More space in the neovim command line for displaying messages

View File

@ -1,33 +1,72 @@
{
{icons, ...}: {
plugins.lualine = {
enable = false;
enable = true;
alwaysDivideMiddle = true;
globalstatus = true;
ignoreFocus = ["neo-tree"];
extensions = ["fzf"];
theme = "auto";
disabledFiletypes = {
statusline = ["dashboard" "alpha" "starter"];
};
componentSeparators = {
left = "|";
right = "|";
left = "·";
right = "·";
};
sectionSeparators = {
left = ""; # 
right = ""; # 
left = ""; # 
right = ""; # 
};
sections = {
lualine_a = ["mode"];
lualine_b = [
lualine_b = ["branch"];
lualine_c = [
{
name = "branch";
icon = "";
name = "diagnostics";
extraConfig.symbols = {
error = icons.diagnostics.Error;
warn = icons.diagnostics.Warn;
info = icons.diagnostics.Info;
hint = icons.diagnostics.Hint;
};
}
"diff"
"diagnostics"
{
name = "filetype";
extraConfig.icon_only = true;
separator = {
left = "";
right = "";
};
padding = {
left = 1;
right = 0;
};
}
"filename"
];
lualine_c = ["filename"];
lualine_x = ["filetype"];
lualine_y = ["progress"];
lualine_z = [''" " .. os.date("%R")''];
lualine_x = [];
lualine_y = [
{
name = "progress";
separator = {
left = " ";
right = " ";
};
padding = {
left = 1;
right = 1;
};
}
{
name = "location";
padding = {
left = 0;
right = 1;
};
}
];
lualine_z = [''" " .. os.date("%I:%M %p"):gsub("0*", "", 1)''];
};
};
}

View File

@ -8,183 +8,154 @@
type = "padding";
inherit val;
};
shortcutOpts = {
position = "center";
cursor = 3;
width = 50;
align_shortcut = "right";
};
in [
(padding 4)
(padding 8)
{
opts = {
hl = "AlphaHeader";
hl = "Structure";
position = "center";
};
type = "text";
val = [
" "
" "
" "
" "
" "
" "
" "
" "
" "
" "
" git@github.com:redyf "
" "
" "
" "
" "
" "
" "
];
}
(padding 2)
(padding 3)
{
type = "button";
val = " Find File";
on_press.raw = "require('telescope.builtin').find_files";
opts = {
# hl = "comment";
keymap = [
"n"
"f"
":Telescope find_files <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "f";
position = "center";
cursor = 3;
width = 38;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
opts =
shortcutOpts
// {
keymap = [
"n"
"f"
":Telescope find_files <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "f";
};
}
(padding 1)
{
type = "button";
val = " New File";
on_press.__raw = "function() vim.cmd[[ene]] end";
opts = {
# hl = "comment";
keymap = [
"n"
"n"
":ene <BAR> startinsert <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "n";
position = "center";
cursor = 3;
width = 38;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
opts =
shortcutOpts
// {
keymap = [
"n"
"n"
":ene <BAR> startinsert <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "n";
};
}
(padding 1)
{
type = "button";
val = "󰈚 Recent Files";
on_press.raw = "require('telescope.builtin').oldfiles";
opts = {
# hl = "comment";
keymap = [
"n"
"r"
":Telescope oldfiles <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "r";
position = "center";
cursor = 3;
width = 38;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
opts =
shortcutOpts
// {
keymap = [
"n"
"r"
":Telescope oldfiles <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "r";
};
}
(padding 1)
{
type = "button";
val = "󰈭 Find Word";
on_press.raw = "require('telescope.builtin').live_grep";
opts = {
# hl = "comment";
keymap = [
"n"
"g"
":Telescope live_grep <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "g";
position = "center";
cursor = 3;
width = 38;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
opts =
shortcutOpts
// {
keymap = [
"n"
"g"
":Telescope live_grep <CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "g";
};
}
(padding 1)
{
type = "button";
val = " Restore Session";
on_press.raw = "require('persistence').load()";
opts = {
# hl = "comment";
keymap = [
"n"
"s"
":lua require('persistence').load()<cr>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "s";
position = "center";
cursor = 3;
width = 38;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
opts =
shortcutOpts
// {
keymap = [
"n"
"s"
":lua require('persistence').load()<cr>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "s";
};
}
(padding 1)
{
type = "button";
val = " Quit Neovim";
val = " Quit";
on_press.__raw = "function() vim.cmd[[qa]] end";
opts = {
# hl = "comment";
keymap = [
"n"
"q"
":qa<CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "q";
position = "center";
cursor = 3;
width = 38;
align_shortcut = "right";
hl_shortcut = "Keyword";
};
opts =
shortcutOpts
// {
keymap = [
"n"
"q"
":qa<CR>"
{
noremap = true;
silent = true;
nowait = true;
}
];
shortcut = "q";
};
}
];
};

View File

@ -1,5 +0,0 @@
{
plugins.nvim-autopairs = {
enable = false;
};
}

View File

@ -22,10 +22,27 @@
shell = "zsh";
direction = "float"; # 'vertical' | 'horizontal' | 'window' | 'float'
auto_scroll = true;
float_opts = {
float_opts = let
widthP = "0.9";
heightP = "0.9";
in rec {
border = "single"; # 'single' | 'double' | 'shadow' | 'curved' | ... other options supported by win open
width = 80;
height = 20;
width = ''
function()
return math.floor(vim.o.columns * ${widthP})
end
'';
height = ''
function()
return math.floor(vim.o.lines * ${heightP})
end
'';
row = ''
function()
local heightFn = ${height}
return math.floor((vim.o.lines - heightFn()) / 2) - 1
end
'';
winblend = 0;
};
winbar = {

View File

@ -5,9 +5,10 @@
}: let
system = pkgs.system;
nixvim = inputs.nixvim.legacyPackages.${system};
icons = import ./config/icons.nix;
nixvimModule = {
inherit pkgs;
pkgs = inputs.unstable.legacyPackages.${system};
module = import ./config;
extraSpecialArgs = {};
extraSpecialArgs = {inherit icons;};
};
in (nixvim.makeNixvimWithModule nixvimModule)

View File

@ -1,44 +1,43 @@
{
"LazyVim": { "branch": "main", "commit": "b289fea1636eda08d82344dc32a114bca550e375" },
"LazyVim": { "branch": "main", "commit": "a5f8af912de4b334cb900a9f383b6e317568f27f" },
"bufferline.nvim": { "branch": "main", "commit": "99337f63f0a3c3ab9519f3d1da7618ca4f91cffe" },
"catppuccin": { "branch": "main", "commit": "5215ea59df6d0a7e27da9a5cd1165e06d1b04cbe" },
"cmp-buffer": { "branch": "main", "commit": "3022dbc9166796b644a841a02de8dd1cc1d311fa" },
"cmp-nvim-lsp": { "branch": "main", "commit": "39e2eda76828d88b773cc27a3f61d2ad782c922d" },
"cmp-path": { "branch": "main", "commit": "91ff86cd9c29299a64f968ebb45846c485725f23" },
"conform.nvim": { "branch": "master", "commit": "7159a23d19fb982269dae2e8147ebbe34965095b" },
"dashboard-nvim": { "branch": "master", "commit": "7596101deb41192a4f7939d2c4f1a531a984b801" },
"conform.nvim": { "branch": "master", "commit": "069e971295a34a810484b7b2ef54b3c735214181" },
"dashboard-nvim": { "branch": "master", "commit": "5346d023afc4bfc7ff63d05c70bcdb0784bb657a" },
"dressing.nvim": { "branch": "master", "commit": "e3714c8049b2243e792492c4149e4cc395c68eb9" },
"flash.nvim": { "branch": "main", "commit": "0b85b5ea6eaaebab5e012fab3496102094550686" },
"flash.nvim": { "branch": "main", "commit": "43f67935d388fbb540f8b40e8cbfd80de54f978a" },
"friendly-snippets": { "branch": "main", "commit": "e11b09bf10706bb74e16e4c3d11b2274d62e687f" },
"gitsigns.nvim": { "branch": "main", "commit": "75dc649106827183547d3bedd4602442340d2f7f" },
"gruvbox.nvim": { "branch": "main", "commit": "f99a08abc5ab0b9b5b0e7a33211a439155c60a61" },
"gitsigns.nvim": { "branch": "main", "commit": "4a143f13e122ab91abdc88f89eefbe70a4858a56" },
"gruvbox.nvim": { "branch": "main", "commit": "d4cde3853a172485961b515c36d51d757728d6e6" },
"indent-blankline.nvim": { "branch": "master", "commit": "d98f537c3492e87b6dc6c2e3f66ac517528f406f" },
"lazy.nvim": { "branch": "main", "commit": "b0ba3f9399bf48c86abaa4db1a40bd0b681d5018" },
"lazy.nvim": { "branch": "main", "commit": "fafe1f7c640aed75e70a10e6649612cd96f39149" },
"lualine.nvim": { "branch": "master", "commit": "0a5a66803c7407767b799067986b4dc3036e1983" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "a4caa0d083aab56f6cd5acf2d42331b74614a585" },
"mason-lspconfig.nvim": { "branch": "main", "commit": "8db12610bcb7ce67013cfdfaba4dd47a23c6e851" },
"mason.nvim": { "branch": "main", "commit": "0950b15060067f752fde13a779a994f59516ce3d" },
"mini.ai": { "branch": "main", "commit": "7859b6344f5cee567a94f173859d25e20ba1a77e" },
"mini.pairs": { "branch": "main", "commit": "40261dfcec7623cd57be3c3beb50fa73f2650cdf" },
"neo-tree.nvim": { "branch": "v3.x", "commit": "29f7c215332ba95e470811c380ddbce2cebe2af4" },
"no-neck-pain.nvim": { "branch": "main", "commit": "741ad26c4acc45f2164a3933f7825b0e555b724d" },
"noice.nvim": { "branch": "main", "commit": "2bf04290b32dc5b1a002a4888c95147bb91ec6f2" },
"nui.nvim": { "branch": "main", "commit": "b1b3dcd6ed8f355c78bad3d395ff645be5f8b6ae" },
"noice.nvim": { "branch": "main", "commit": "e5cb20c6e14305d24025ecb77d7d4dd9d61f1a64" },
"nui.nvim": { "branch": "main", "commit": "322978c734866996274467de084a95e4f9b5e0b1" },
"nvim-cmp": { "branch": "main", "commit": "5260e5e8ecadaf13e6b82cf867a909f54e15fd07" },
"nvim-lint": { "branch": "master", "commit": "1a3a8d047bc01f1760ae4a0f5e80f111ea222e67" },
"nvim-lspconfig": { "branch": "master", "commit": "74e14808cdb15e625449027019406e1ff6dda020" },
"nvim-lint": { "branch": "master", "commit": "941fa1220a61797a51f3af9ec6b7d74c8c7367ce" },
"nvim-lspconfig": { "branch": "master", "commit": "92166b89ab4b3d60f24e58170cac53b7141fd032" },
"nvim-notify": { "branch": "master", "commit": "d333b6f167900f6d9d42a59005d82919830626bf" },
"nvim-spectre": { "branch": "master", "commit": "4d22fe03554056de4325762add3e546c77e3a275" },
"nvim-treesitter": { "branch": "master", "commit": "a80fe081b4c5890980561e0de2458f64aaffbfc7" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "fd41b7ccc5490a3a99c734d1ee418b68d06c48a9" },
"nvim-treesitter": { "branch": "master", "commit": "c5cbd3ec74f6f5ddbac939e6f24b99fe78262b4c" },
"nvim-treesitter-textobjects": { "branch": "master", "commit": "34867c69838078df7d6919b130c0541c0b400c47" },
"nvim-ts-autotag": { "branch": "main", "commit": "6eb4120a1aadef07ac312f1c4bc6456712220007" },
"nvim-web-devicons": { "branch": "master", "commit": "b77921fdc44833c994fdb389d658ccbce5490c16" },
"nvim-web-devicons": { "branch": "master", "commit": "b4b302d6ae229f67df7a87ef69fa79473fe788a9" },
"persistence.nvim": { "branch": "main", "commit": "5fe077056c821aab41f87650bd6e1c48cd7dd047" },
"plenary.nvim": { "branch": "master", "commit": "a3e3bc82a3f95c5ed0d7201546d5d2c19b20d683" },
"telescope-fzf-native.nvim": { "branch": "main", "commit": "9ef21b2e6bb6ebeaf349a0781745549bbb870d27" },
"telescope.nvim": { "branch": "master", "commit": "dfa230be84a044e7f546a6c2b0a403c739732b86" },
"telescope.nvim": { "branch": "master", "commit": "3a743491e5c6be0ed0aa8c31c6905df8f66179ba" },
"todo-comments.nvim": { "branch": "main", "commit": "70a93ce66083699571adc361166504b03cc39c2b" },
"tokyonight.nvim": { "branch": "main", "commit": "7e5ef71a103e7de5fe6c05f5d6ab97d1640f08cf" },
"tokyonight.nvim": { "branch": "main", "commit": "02e9028fe3560f38363c2d38f1c87e45eb04fdb3" },
"tree-sitter-asm": { "branch": "main", "commit": "b0306e9bb2ebe01c6562f1aef265cc42ccc53070" },
"trouble.nvim": { "branch": "main", "commit": "29d1bb81adc847e89ddbbf5b11ff0079daf7cc0a" },
"which-key.nvim": { "branch": "main", "commit": "4b7167f8fb2dba3d01980735e3509e172c024c29" }
}
"trouble.nvim": { "branch": "main", "commit": "806c50491078b66daf13c408042f2e74da46d0ff" },
"which-key.nvim": { "branch": "main", "commit": "0099511294f16b81c696004fa6a403b0ae61f7a0" }