From 49e4f0e7eff65c52c7087f5776148ac9afc98f8b Mon Sep 17 00:00:00 2001
From: DerGrumpf
Date: Tue, 16 Sep 2025 18:37:46 +0200
Subject: [PATCH] added: swaync
---
flake.lock | 285 +++++++++++++++++-
flake.nix | 9 +
home/hyprland/default.nix | 3 +-
home/hyprland/swaync.nix | 4 +
home/programs/dev/neovim/config.lua | 55 ----
home/programs/dev/neovim/default.nix.back1 | 331 +++++++++++++++++++++
modules/system.nix | 1 +
users/phil/home.nix | 1 -
8 files changed, 631 insertions(+), 58 deletions(-)
create mode 100644 home/hyprland/swaync.nix
create mode 100644 home/programs/dev/neovim/default.nix.back1
diff --git a/flake.lock b/flake.lock
index 8b03f84..c10d728 100644
--- a/flake.lock
+++ b/flake.lock
@@ -51,6 +51,27 @@
"type": "github"
}
},
+ "devshell": {
+ "inputs": {
+ "nixpkgs": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1741473158,
+ "narHash": "sha256-kWNaq6wQUbUMlPgw8Y+9/9wP0F8SHkjy24/mN3UAppg=",
+ "owner": "numtide",
+ "repo": "devshell",
+ "rev": "7c9e793ebe66bcba8292989a68c0419b737a22a0",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "devshell",
+ "type": "github"
+ }
+ },
"flake-compat": {
"flake": false,
"locked": {
@@ -81,6 +102,20 @@
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
}
},
+ "flake-compat_3": {
+ "locked": {
+ "lastModified": 1733328505,
+ "narHash": "sha256-NeCCThCEP3eCl2l/+27kNNK7QrwZB1IJCrXfrbv5oqU=",
+ "rev": "ff81ac966bb2cae68946d5ed5fc4994f96d0ffec",
+ "revCount": 69,
+ "type": "tarball",
+ "url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.1.0/01948eb7-9cba-704f-bbf3-3fa956735b52/source.tar.gz"
+ },
+ "original": {
+ "type": "tarball",
+ "url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
+ }
+ },
"flake-parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
@@ -99,6 +134,71 @@
"type": "github"
}
},
+ "flake-parts_2": {
+ "inputs": {
+ "nixpkgs-lib": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1756770412,
+ "narHash": "sha256-+uWLQZccFHwqpGqr2Yt5VsW/PbeJVTn9Dk6SHWhNRPw=",
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "rev": "4524271976b625a4a605beefd893f270620fd751",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "flake-parts",
+ "type": "github"
+ }
+ },
+ "flake-utils": {
+ "inputs": {
+ "systems": "systems_2"
+ },
+ "locked": {
+ "lastModified": 1731533236,
+ "narHash": "sha256-l0KFg5HjrsfsO/JpG+r7fRrqm12kzFHyUHqHCVpMMbI=",
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "rev": "11707dc2f618dd54ca8739b309ec4fc024de578b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "flake-utils",
+ "type": "github"
+ }
+ },
+ "git-hooks": {
+ "inputs": {
+ "flake-compat": [
+ "nixvim",
+ "flake-compat"
+ ],
+ "gitignore": "gitignore_2",
+ "nixpkgs": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1757239681,
+ "narHash": "sha256-E9spYi9lxm2f1zWQLQ7xQt8Xs2nWgr1T4QM7ZjLFphM=",
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "rev": "ab82ab08d6bf74085bd328de2a8722c12d97bd9d",
+ "type": "github"
+ },
+ "original": {
+ "owner": "cachix",
+ "repo": "git-hooks.nix",
+ "type": "github"
+ }
+ },
"gitignore": {
"inputs": {
"nixpkgs": [
@@ -121,6 +221,28 @@
"type": "github"
}
},
+ "gitignore_2": {
+ "inputs": {
+ "nixpkgs": [
+ "nixvim",
+ "git-hooks",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1709087332,
+ "narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
+ "type": "github"
+ },
+ "original": {
+ "owner": "hercules-ci",
+ "repo": "gitignore.nix",
+ "type": "github"
+ }
+ },
"home-manager": {
"inputs": {
"nixpkgs": [
@@ -142,6 +264,28 @@
"type": "github"
}
},
+ "home-manager_2": {
+ "inputs": {
+ "nixpkgs": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1747688870,
+ "narHash": "sha256-ypL9WAZfmJr5V70jEVzqGjjQzF0uCkz+AFQF7n9NmNc=",
+ "owner": "nix-community",
+ "repo": "home-manager",
+ "rev": "d5f1f641b289553927b3801580598d200a501863",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "release-24.11",
+ "repo": "home-manager",
+ "type": "github"
+ }
+ },
"hyprcursor": {
"inputs": {
"hyprlang": [
@@ -431,6 +575,56 @@
"type": "github"
}
},
+ "ixx": {
+ "inputs": {
+ "flake-utils": [
+ "nixvim",
+ "nuschtosSearch",
+ "flake-utils"
+ ],
+ "nixpkgs": [
+ "nixvim",
+ "nuschtosSearch",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1754860581,
+ "narHash": "sha256-EM0IE63OHxXCOpDHXaTyHIOk2cNvMCGPqLt/IdtVxgk=",
+ "owner": "NuschtOS",
+ "repo": "ixx",
+ "rev": "babfe85a876162c4acc9ab6fb4483df88fa1f281",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NuschtOS",
+ "ref": "v0.1.1",
+ "repo": "ixx",
+ "type": "github"
+ }
+ },
+ "nix-darwin": {
+ "inputs": {
+ "nixpkgs": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1743127615,
+ "narHash": "sha256-+sMGqywrSr50BGMLMeY789mSrzjkoxZiu61eWjYS/8o=",
+ "owner": "lnl7",
+ "repo": "nix-darwin",
+ "rev": "fc843893cecc1838a59713ee3e50e9e7edc6207c",
+ "type": "github"
+ },
+ "original": {
+ "owner": "lnl7",
+ "ref": "nix-darwin-24.11",
+ "repo": "nix-darwin",
+ "type": "github"
+ }
+ },
"nixcord": {
"inputs": {
"flake-compat": "flake-compat_2",
@@ -546,6 +740,58 @@
"type": "github"
}
},
+ "nixvim": {
+ "inputs": {
+ "devshell": "devshell",
+ "flake-compat": "flake-compat_3",
+ "flake-parts": "flake-parts_2",
+ "git-hooks": "git-hooks",
+ "home-manager": "home-manager_2",
+ "nix-darwin": "nix-darwin",
+ "nixpkgs": [
+ "nixpkgs"
+ ],
+ "nuschtosSearch": "nuschtosSearch",
+ "treefmt-nix": "treefmt-nix"
+ },
+ "locked": {
+ "lastModified": 1751725553,
+ "narHash": "sha256-bkvw8jXTdRBWRfO50IaxNuUIamnLllxfEFqUG/g3uwo=",
+ "owner": "nix-community",
+ "repo": "nixvim",
+ "rev": "81d65e0cfb00df0269195b59f156c719cc045ab8",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-community",
+ "ref": "nixos-24.11",
+ "repo": "nixvim",
+ "type": "github"
+ }
+ },
+ "nuschtosSearch": {
+ "inputs": {
+ "flake-utils": "flake-utils",
+ "ixx": "ixx",
+ "nixpkgs": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1756738487,
+ "narHash": "sha256-8QX7Ab5CcICp7zktL47VQVS+QeaU4YDNAjzty7l7TQE=",
+ "owner": "NuschtOS",
+ "repo": "search",
+ "rev": "5feeaeefb571e6ca2700888b944f436f7c05149b",
+ "type": "github"
+ },
+ "original": {
+ "owner": "NuschtOS",
+ "repo": "search",
+ "type": "github"
+ }
+ },
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
@@ -577,6 +823,7 @@
"hyprland-plugins": "hyprland-plugins",
"nixcord": "nixcord",
"nixpkgs": "nixpkgs_4",
+ "nixvim": "nixvim",
"spicetify-nix": "spicetify-nix",
"unstable": "unstable"
}
@@ -584,7 +831,7 @@
"spicetify-nix": {
"inputs": {
"nixpkgs": "nixpkgs_5",
- "systems": "systems_2"
+ "systems": "systems_3"
},
"locked": {
"lastModified": 1751776600,
@@ -630,6 +877,42 @@
"type": "github"
}
},
+ "systems_3": {
+ "locked": {
+ "lastModified": 1681028828,
+ "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
+ "owner": "nix-systems",
+ "repo": "default",
+ "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
+ "type": "github"
+ },
+ "original": {
+ "owner": "nix-systems",
+ "repo": "default",
+ "type": "github"
+ }
+ },
+ "treefmt-nix": {
+ "inputs": {
+ "nixpkgs": [
+ "nixvim",
+ "nixpkgs"
+ ]
+ },
+ "locked": {
+ "lastModified": 1756662192,
+ "narHash": "sha256-F1oFfV51AE259I85av+MAia221XwMHCOtZCMcZLK2Jk=",
+ "owner": "numtide",
+ "repo": "treefmt-nix",
+ "rev": "1aabc6c05ccbcbf4a635fb7a90400e44282f61c4",
+ "type": "github"
+ },
+ "original": {
+ "owner": "numtide",
+ "repo": "treefmt-nix",
+ "type": "github"
+ }
+ },
"unstable": {
"locked": {
"lastModified": 1756787288,
diff --git a/flake.nix b/flake.nix
index b961139..389e019 100644
--- a/flake.nix
+++ b/flake.nix
@@ -18,6 +18,13 @@
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
+ # Editor
+ nixvim = {
+ url = "github:nix-community/nixvim/nixos-24.11";
+ # If using a stable channel you can use `url = "github:nix-community/nixvim/nixos-"`
+ inputs.nixpkgs.follows = "nixpkgs";
+ };
+
# Desktop ENV
hyprland.url = "github:hyprwm/Hyprland";
hyprland-plugins = {
@@ -42,6 +49,7 @@
nixpkgs,
home-manager,
catppuccin,
+ nixvim,
...
}:
@@ -89,6 +97,7 @@
sharedModules = [
inputs.catppuccin.homeModules.catppuccin
inputs.nixcord.homeModules.nixcord
+ inputs.nixvim.homeManagerModules.nixvim
];
};
};
diff --git a/home/hyprland/default.nix b/home/hyprland/default.nix
index 0a07141..cacc809 100644
--- a/home/hyprland/default.nix
+++ b/home/hyprland/default.nix
@@ -9,8 +9,9 @@
#./wpaperd.nix
./swww.nix
./rofi # App Launcher
- ./mako.nix # Notifyer
+ #./mako.nix # Notifyer
./cava.nix # Music Visualizer
+ ./swaync.nix
];
programs.waybar =
diff --git a/home/hyprland/swaync.nix b/home/hyprland/swaync.nix
new file mode 100644
index 0000000..a5cde49
--- /dev/null
+++ b/home/hyprland/swaync.nix
@@ -0,0 +1,4 @@
+{ pkgs, ... }:
+{
+ home.packages = [ pkgs.swaynotificationcenter ];
+}
diff --git a/home/programs/dev/neovim/config.lua b/home/programs/dev/neovim/config.lua
index 18f0fa9..7ced0ac 100644
--- a/home/programs/dev/neovim/config.lua
+++ b/home/programs/dev/neovim/config.lua
@@ -54,7 +54,6 @@ require("mason-lspconfig").setup({
"nil_ls",
"rust_analyzer",
"pylsp",
- "stylelint-lsp",
},
automatic_installation = true,
})
@@ -77,8 +76,6 @@ cmp.setup({
sources = cmp.config.sources({
{ name = "nvim_lsp" },
{ name = "luasnip" },
- { name = "avante_commands" },
- { name = "avante_mentions" },
}, {
{ name = "buffer" },
{ name = "path" },
@@ -151,58 +148,6 @@ vim.keymap.set("n", "fg", telescope.live_grep, { desc = "Telescope live
vim.keymap.set("n", "fb", telescope.buffers, { desc = "Telescope buffers" })
vim.keymap.set("n", "fh", telescope.help_tags, { desc = "Telescope help tags" })
--- Avante.nvim Setup
-require("avante").setup({
- -- Provider configuration
- provider = "ollama",
- claude = {
- endpoint = "https://api.anthropic.com",
- model = "claude-sonnet-4-20250514",
- },
- -- File selector settings
- file_selector = {
- provider = "telescope",
- },
- -- Other settings
- instructions_file = "avante.md",
- -- Keymaps will be set automatically
- mappings = {
- ask = "aa",
- edit = "ae",
- refresh = "ar",
- --- @class AvanteConflictMappings
- diff = {
- ours = "co",
- theirs = "ct",
- none = "c0",
- both = "cb",
- next = "]x",
- prev = "[x",
- },
- jump = {
- next = "]]",
- prev = "[[",
- },
- },
-})
-
--- Img-clip setup for image pasting
-require("img-clip").setup({
- default = {
- embed_image_as_base64 = false,
- prompt_for_file_name = false,
- drag_and_drop = {
- insert_mode = true,
- },
- use_absolute_path = true,
- },
-})
-
--- Render-markdown setup
-require("render-markdown").setup({
- file_types = { "markdown", "Avante" },
-})
-
-- Styling
require("catppuccin").setup({
flavour = "mocha",
diff --git a/home/programs/dev/neovim/default.nix.back1 b/home/programs/dev/neovim/default.nix.back1
new file mode 100644
index 0000000..4489cae
--- /dev/null
+++ b/home/programs/dev/neovim/default.nix.back1
@@ -0,0 +1,331 @@
+{ pkgs, ... }:
+{
+ programs.nixvim = {
+ enable = true;
+ defaultEditor = true;
+ viAlias = true;
+ vimAlias = true;
+
+ # ===================
+ # Basic Options
+ # ===================
+ options = {
+ number = true;
+ cursorline = true;
+ showmode = false;
+ syntax = "enable";
+ hlsearch = true;
+ incsearch = true;
+ tabstop = 4;
+ termguicolors = true;
+ };
+
+ globals.mapleader = " ";
+
+ keymaps = [
+ # Clipboard
+ {
+ mode = "n";
+ key = "y";
+ action = "\"+y";
+ options.desc = "Yank to clipboard";
+ }
+ {
+ mode = "v";
+ key = "y";
+ action = "\"+y";
+ options.desc = "Yank to clipboard";
+ }
+ {
+ mode = "n";
+ key = "Y";
+ action = "\"+Y";
+ options.desc = "Yank line to clipboard";
+ }
+ {
+ mode = "n";
+ key = "d";
+ action = "\"+d";
+ options.desc = "Delete to clipboard";
+ }
+ {
+ mode = "v";
+ key = "d";
+ action = "\"+d";
+ options.desc = "Delete to clipboard";
+ }
+ {
+ mode = "n";
+ key = "D";
+ action = "\"+D";
+ options.desc = "Delete line to clipboard";
+ }
+ {
+ mode = "n";
+ key = "p";
+ action = "\"+p";
+ options.desc = "Paste from clipboard";
+ }
+ {
+ mode = "v";
+ key = "p";
+ action = "\"+p";
+ options.desc = "Paste from clipboard";
+ }
+ ];
+
+ # ===================
+ # Plugins
+ # ===================
+ plugins = {
+ # Treesitter
+ treesitter = {
+ enable = true;
+ ensureInstalled = [
+ "lua"
+ "nix"
+ "python"
+ "javascript"
+ "rust"
+ "rasi"
+ ];
+ };
+
+ # Lint
+ lint.enable = true;
+
+ # Mason + LSP
+ mason.enable = true;
+ mason-lspconfig = {
+ enable = true;
+ ensureInstalled = [
+ "lua_ls"
+ "nil_ls"
+ "rust_analyzer"
+ "pylsp"
+ "stylelint_lsp"
+ ];
+ };
+
+ lsp = {
+ enable = true;
+ servers = {
+ lua_ls.settings.Lua = {
+ runtime.version = "LuaJIT";
+ diagnostics.globals = [ "vim" ];
+ telemetry.enable = false;
+ };
+ nil_ls.enable = true;
+ rust_analyzer.enable = true;
+ pylsp.enable = true;
+ stylelint_lsp = {
+ enable = true;
+ filetypes = [
+ "css"
+ "scss"
+ "rasi"
+ ];
+ cmd = [
+ "stylelint-lsp"
+ "--stdio"
+ ];
+ };
+ };
+ keymaps.lspBuf = {
+ gd = "definition";
+ K = "hover";
+ "rn" = "rename";
+ "ca" = "code_action";
+ };
+ };
+
+ # Completion
+ cmp = {
+ enable = true;
+ sources = [
+ { name = "nvim_lsp"; }
+ { name = "luasnip"; }
+ { name = "avante_commands"; }
+ { name = "avante_mentions"; }
+ { name = "buffer"; }
+ { name = "path"; }
+ ];
+ };
+ luasnip.enable = true;
+
+ # Conform
+ conform-nvim = {
+ enable = true;
+ formattersByFt = {
+ lua = [ "stylua" ];
+ nix = [ "nixfmt" ];
+ python = [ "black" ];
+ rust = [ "rustfmt" ];
+ rasi = [ "prettierd" ];
+ };
+ formatOnSave = {
+ timeoutMs = 500;
+ lspFallback = true;
+ };
+ };
+
+ # Telescope
+ telescope = {
+ enable = true;
+ keymaps = {
+ "ff" = "find_files";
+ "fg" = "live_grep";
+ "fb" = "buffers";
+ "fh" = "help_tags";
+ };
+ };
+
+ # Toggleterm
+ toggleterm = {
+ enable = true;
+ settings = {
+ size = 20;
+ direction = "float";
+ float_opts = {
+ border = "single";
+ width = 200;
+ height = 40;
+ };
+ };
+ };
+
+ # Statusline
+ lualine = {
+ enable = true;
+ settings.options = {
+ theme = "catppuccin";
+ component_separators = {
+ left = "|";
+ right = "|";
+ };
+ section_separators = {
+ left = "";
+ right = "";
+ };
+ };
+ };
+
+ # Dashboard (alpha)
+ alpha = {
+ enable = true;
+ theme = "dashboard";
+ layout.dashboard = {
+ section.header.val = [
+ "⣿⣿⣿⣿⣿⣿⣿⣿⣿⢿⣯⣿⠿⣟⣷⣯⣛⢿⣿⣿⣾⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿"
+ "⣿⣿⣿⣿⣿⣿⣿⡿⣵⣿⡿⣴⣽⡟⣳⢿⢽⣽⣕⣽⢿⡿⣿⣟⣿⣿⣿⣿⣿⣿⣿"
+ "⣿⣿⣿⣷⣿⣿⢟⣫⣿⢟⢟⣾⣾⣿⣿⣞⢳⣻⢞⣎⠿⢞⣊⣿⣞⣿⣿⣿⣿⣿⢽"
+ "⣿⣿⣿⣿⣿⣏⢯⣿⣏⣏⠔⢇⣿⢢⢆⢀⢆⣧⣼⢻⢰⡧⢻⣝⣏⡸⣧⣾⣿⣿⣿"
+ "⣿⣿⣿⣿⡟⣻⣿⣿⡾⡿⡼⢸⡝⣝⡳⢢⣧⢳⣳⢷⡇⣗⢺⡺⣿⡧⣿⣿⣿⢿⢿"
+ "⣿⡿⣿⣼⡼⣿⣿⡗⡧⣧⠁⡝⣧⣳⠅⡾⠈⣎⢮⣧⣿⣿⣗⣷⣻⢷⣏⣼⢏⣺⣿"
+ "⣿⣿⣿⣻⣿⣿⣿⢧⣿⢹⠉⢷⢿⣧⣲⡏⡀⡈⢆⠳⣿⡿⢿⣿⣱⢿⢫⣷⣝⣿⣿"
+ "⣿⣿⣿⡯⡟⣿⣿⢽⣡⠟⢿⣮⠁⠙⠛⠈⡴⢿⣿⡷⣬⣽⢽⠧⣷⡏⣿⡇⣧⣽⣿"
+ "⣿⠟⢻⡧⡇⣿⡇⣇⣆⢄⡜⢃⡀⡀⡀⡀⡀⢎⣁⠁⣸⣗⣸⣿⣧⣼⡿⢹⢿⢾⣿"
+ "⣿⣷⣾⣿⢻⣿⢧⢻⣽⡀⡀⡀⡀⢄⡀⡀⡀⡀⡀⢀⣷⡸⡟⣿⣶⣻⣧⡛⡱⢝⣿"
+ "⣿⣿⣿⣿⢸⡿⢚⡜⣿⣇⡀⡀⡀⡀⡀⡀⡀⡀⠚⢁⢣⣜⡿⣿⡇⢼⣿⠨⣸⣿⣿"
+ "⣿⣄⣿⣗⢾⢻⣧⢿⣾⣿⣦⡀⡀⠑⠚⠉⡀⡀⣤⣿⢨⣿⠗⣻⢣⣿⢹⢈⣽⣿⣿"
+ "⣿⣿⣿⣿⢎⡄⢿⣞⡇⣿⠹⣿⣶⣀⡀⣀⡴⡩⢸⢏⣿⣿⣶⢻⣾⢏⡞⠡⢽⣇⣾"
+ "⣿⣿⣿⣮⣼⢬⣦⢿⣳⣌⠧⡉⠈⣇⣛⣁⣈⣼⣿⡸⠫⠛⠐⠛⠕⣙⣻⣬⣼⣿⣿"
+ "⢟⢿⣿⣿⣿⡢⣃⣪⣭⣡⣤⣶⠟⡿⠿⠿⠿⠛⢁⣿⣿⢩⠉⡀⠈⠓⡝⣿⣿⣿⣿"
+ "⣾⣿⣿⣿⣿⠞⢔⡣⡴⣾⣿⠓⣤⢧⡼⣉⠠⢤⣿⣿⠇⠃⡀⡀⡀⡀⡸⢿⣾⣿⣿"
+ "⣿⣿⣿⡿⣺⡸⢗⢠⣇⣿⣿⠊⠃⡀⠉⡀⢠⣿⣿⠟⡸⡀⡀⡀⡀⡀⣃⣬⠽⠿⣿"
+ "⣿⣿⣿⣿⡇⡏⢸⣿⠟⣽⡇⡀⡀⡀⡀⣴⣟⢭⣾⣿⡇⠎⣠⠒⠉⠈⢀⡀⢨⡋⣿"
+ "⠛⠛⠛⠋⠃⠓⠚⠛⠘⠛⠃⡀⠊⡀⠛⠛⠛⠂⠛⠛⠓⠁⠚⡀⠂⠒⠒⠐⠒⠋⠛"
+ ];
+ section.buttons.val = [
+ {
+ shortcut = "e";
+ text = "[+] New file";
+ command = ":ene startinsert ";
+ }
+ {
+ shortcut = "f";
+ text = "[?] Find file";
+ command = ":Telescope find_files ";
+ }
+ {
+ shortcut = "r";
+ text = "[~] Recent files";
+ command = ":Telescope oldfiles ";
+ }
+ {
+ shortcut = "y";
+ text = "[Y] Yazi";
+ command = ":Yazi";
+ }
+ {
+ shortcut = "m";
+ text = "[M] Mason";
+ command = ":Mason";
+ }
+ {
+ shortcut = "q";
+ text = "[X] Quit";
+ command = ":qa";
+ }
+ ];
+ section.footer.val = "Circuits hum in anticipation of your will.";
+ };
+ };
+
+ # Colorscheme
+ catppuccin = {
+ enable = true;
+ flavour = "mocha";
+ transparentBackground = true;
+ integrations = {
+ treesitter = true;
+ mason = true;
+ cmp = true;
+ telescope = true;
+ toggleterm = true;
+ };
+ };
+ };
+
+ # ===================
+ # Plugins not in nixvim
+ # ===================
+ extraPlugins = with pkgs.vimPlugins; [
+ yazi-nvim
+ cheatsheet-nvim
+ avante-nvim
+ plenary-nvim
+ nui-nvim
+ dressing-nvim
+ nvim-web-devicons
+ img-clip-nvim
+ render-markdown-nvim
+ (pkgs.vimUtils.buildVimPlugin {
+ name = "conform-nvim";
+ src = pkgs.fetchFromGitHub {
+ owner = "stevearc";
+ repo = "conform.nvim";
+ rev = "stable";
+ sha256 = "sha256-pUF9F5QoDzCZuVRcJEF91M8Qjkh/xosMkf9tRavkmJs=";
+ };
+ })
+ ];
+ };
+
+ home.packages = with pkgs; [
+ nixfmt-rfc-style
+ stylua
+ black
+ nodePackages.prettier
+ rustfmt
+ nodejs
+ prettierd
+ stylelint-lsp
+ lua-language-server
+ nil
+ rust-analyzer
+ python3Packages.python-lsp-server
+ curl
+ cargo
+ ];
+}
diff --git a/modules/system.nix b/modules/system.nix
index 069bb10..8f96b7c 100644
--- a/modules/system.nix
+++ b/modules/system.nix
@@ -24,6 +24,7 @@
# $ nix search wget
environment.systemPackages = with pkgs; [
# Bare minimum
+ vim
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
wget
git
diff --git a/users/phil/home.nix b/users/phil/home.nix
index 5b71aaa..4deff9c 100644
--- a/users/phil/home.nix
+++ b/users/phil/home.nix
@@ -39,7 +39,6 @@
../../home/programs/games/lutris.nix
../../home/programs/games/opensource.nix
../../home/programs/games/airshipper.nix
-
];
catppuccin = {