[feat] Add stuff

This commit is contained in:
Uttarayan Mondal
2024-02-27 20:55:09 +05:30
parent 22f29f183c
commit 7ca19d291c
9 changed files with 446 additions and 67 deletions

View File

@@ -4,6 +4,8 @@ default: nixos
darwin:
nix run nix-darwin -- switch --flake . --show-trace
build_darwin:
nix run nix-darwin -- build --flake .
home:
nix --extra-experimental-features "nix-command flakes" run home-manager/master -- switch --flake .

View File

@@ -7,10 +7,15 @@ in {
# Include the results of the hardware scan.
./tmux.nix
./wezterm.nix
./nvim.nix
] ++ (if device.isLinux then [ ../linux ] else [ ]);
home.packages = with pkgs;
[
ngrok
gh
yarn
just
jq
tldr
@@ -32,6 +37,7 @@ in {
clang
neovim-nightly
nil
pkg-config
# neovim
(nerdfonts.override { fonts = [ "Hasklig" ]; })
mpv
@@ -64,7 +70,7 @@ in {
'';
})
] else
[ ]);
[ ]) ++ (if device.isMac then [ ] else [ ]);
# xdg.enable = true;
@@ -114,6 +120,17 @@ in {
enable = true;
enableFishIntegration = true;
enableNushellIntegration = true;
settings = let flavour = "mocha"; # Replace with your preferred palette
in {
# Other config here
format = "$all"; # Remove this line to disable the default prompt format
palette = "catppuccin_${flavour}";
} // builtins.fromTOML (builtins.readFile (pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "starship";
rev = "main"; # Replace with the latest commit hash
sha256 = "sha256-nsRuxQFKbQkyEI4TXgvAjcroVdG+heKX5Pauq/4Ota0";
} + /palettes/${flavour}.toml));
};
eza = {
enable = true;
@@ -137,6 +154,22 @@ in {
enableFishIntegration = true;
enableNushellIntegration = true;
};
bat = {
enable = true;
config = { theme = "catppuccin"; };
themes = {
catppuccin = let flavor = "mocha";
in {
src = pkgs.fetchFromGitHub {
owner = "catppuccin";
repo = "bat";
rev = "main";
sha256 = "sha256-6WVKQErGdaqb++oaXnY3i6/GuH2FhTgK0v4TN4Y0Wbw";
};
file = "Catppuccin-${flavor}.tmTheme";
};
};
};
# Let Home Manager install and manage itself.
home-manager = { enable = true; };
@@ -156,8 +189,8 @@ in {
file = {
".config/tmux/sessions".source = ../../tmux/sessions;
".config/nvim/lua".source = ../../nvim/lua;
".config/nvim/init.lua".source = ../../nvim/init.lua;
# ".config/nvim/lua".source = ../../nvim/lua;
# ".config/nvim/init.lua".source = ../../nvim/init.lua;
".config/macchina".source = ../../macchina;
# # You can also set the file content immediately.

View File

@@ -0,0 +1,46 @@
{ pkgs, inputs, ... }: {
imports = [ inputs.nixneovim.nixosModules.default ];
programs.nixneovim = {
enable = true;
extraConfigLua = ''
vim.opt.foldexpr = "v:lua.vim.treesitter.foldexpr()"
vim.opt.foldtext = "v:lua.vim.treesitter.foldtext()"
'';
options = {
number = true;
relativenumberr = true;
};
plugins = {
lspconfig = {
enable = true;
servers = {
rust-analyzer.enable = true;
nil.enable = true;
};
};
treesitter = {
enable = true;
indent = true;
};
};
colorschemes = {
catppuccin = {
enable = true;
flavour = "mocha";
};
};
mappings = {
normal = {
"<leader>ff" = "require'telescope.builtin'.find_files()";
"<leader>gg" = "require'telescope.builtin'.live_grep()";
"<leader>;" = "require'telescope.builtin'.buffers()";
"<leader><leader>" = "<c-^>";
"vff" = "<cmd>vertical Gdiffsplit<cr>";
"<C-k>" = "vim.lsp.buf.definition()";
"gi" = "vim.lsp.buf.implementation()";
"<leader>a" = "vim.lsp.buf.code_action()";
"F" = "vim.lsp.buf.format( async = true )";
};
};
};
}

View File

@@ -10,39 +10,40 @@
-- "Symbols Nerd Font Mono"
-- }),
color_scheme = "Catppuccin Mocha",
font_size = 16,
colors = {
-- The default text color
foreground = "#f8f8f2",
-- The default background color
-- background = "#282a36",
-- Overrides the cell background color when the current cell is occupied by the
-- cursor and the cursor style is set to Block
cursor_bg = "#f8f8f2",
-- Overrides the text color when the current cell is occupied by the cursor
cursor_fg = "#000",
-- Specifies the border color of the cursor when the cursor style is set to Block,
-- or the color of the vertical or horizontal bar when the cursor style is set to
-- Bar or Underline.
cursor_border = "#52ad70",
-- the foreground color of selected text
selection_fg = "#ffffff",
-- the background color of selected text
selection_bg = "#ffffff",
-- The color of the scrollbar "thumb"; the portion that represents the current viewport
scrollbar_thumb = "#222222",
-- The color of the split lines between panes
split = "#444444",
ansi = { "#21222c", "#ff5555", "#50fa7b", "#f1fa8c", "#bd93f9", "#ff79c6", "#8be9fd", "#f8f8f2" },
brights = { "#6272a4", "#ff6e6e", "#69ff94", "#ffffa5", "#d6acff", "#ff92df", "#a4ffff", "#ffffff" },
-- Arbitrary colors of the palette in the range from 16 to 255
indexed = { [136] = "#af8700" },
-- Since: nightly builds only
-- When the IME, a dead key or a leader key are being processed and are effectively
-- holding input pending the result of input composition, change the cursor
-- to this color to give a visual cue about the compose state.
compose_cursor = "orange",
},
-- colors = {
-- -- The default text color
-- foreground = "#f8f8f2",
-- -- The default background color
-- -- background = "#282a36",
-- -- Overrides the cell background color when the current cell is occupied by the
-- -- cursor and the cursor style is set to Block
-- cursor_bg = "#f8f8f2",
-- -- Overrides the text color when the current cell is occupied by the cursor
-- cursor_fg = "#000",
-- -- Specifies the border color of the cursor when the cursor style is set to Block,
-- -- or the color of the vertical or horizontal bar when the cursor style is set to
-- -- Bar or Underline.
-- cursor_border = "#52ad70",
-- -- the foreground color of selected text
-- selection_fg = "#ffffff",
-- -- the background color of selected text
-- selection_bg = "#ffffff",
-- -- The color of the scrollbar "thumb"; the portion that represents the current viewport
-- scrollbar_thumb = "#222222",
-- -- The color of the split lines between panes
-- split = "#444444",
-- ansi = { "#21222c", "#ff5555", "#50fa7b", "#f1fa8c", "#bd93f9", "#ff79c6", "#8be9fd", "#f8f8f2" },
-- brights = { "#6272a4", "#ff6e6e", "#69ff94", "#ffffa5", "#d6acff", "#ff92df", "#a4ffff", "#ffffff" },
-- -- Arbitrary colors of the palette in the range from 16 to 255
-- indexed = { [136] = "#af8700" },
-- -- Since: nightly builds only
-- -- When the IME, a dead key or a leader key are being processed and are effectively
-- -- holding input pending the result of input composition, change the cursor
-- -- to this color to give a visual cue about the compose state.
-- compose_cursor = "orange",
-- },
initial_cols = 120,
hide_tab_bar_if_only_one_tab = true,
window_background_opacity = 0.8,

267
config/nix/flake.lock generated
View File

@@ -377,6 +377,24 @@
"type": "github"
}
},
"flake-utils_7": {
"inputs": {
"systems": "systems_7"
},
"locked": {
"lastModified": 1705309234,
"narHash": "sha256-uNRRNRKmJyCRC/8y1RqBkqWBLM034y4qN7EprSdmgyA=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "1ef2e671c3b0c19053962c07dbda38332dcebf26",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
@@ -399,6 +417,25 @@
"type": "github"
}
},
"haumea": {
"inputs": {
"nixpkgs": "nixpkgs_4"
},
"locked": {
"lastModified": 1685133229,
"narHash": "sha256-FePm/Gi9PBSNwiDFq3N+DWdfxFq0UKsVVTJS3cQPn94=",
"owner": "nix-community",
"repo": "haumea",
"rev": "34dd58385092a23018748b50f9b23de6266dffc2",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "v0.2.2",
"repo": "haumea",
"type": "github"
}
},
"hercules-ci-effects": {
"inputs": {
"flake-parts": "flake-parts_5",
@@ -428,11 +465,32 @@
]
},
"locked": {
"lastModified": 1708294481,
"narHash": "sha256-DZtxmeb4OR7iCaKUUuq05ADV2rX8WReZEF7Tq//W0+Y=",
"lastModified": 1708988456,
"narHash": "sha256-RCz7Xe64tN2zgWk+MVHkzg224znwqknJ1RnB7rVqUWw=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "a54e05bc12d88ff2df941d0dc1183cb5235fa438",
"rev": "1d085ea4444d26aa52297758b333b449b2aa6fca",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"home-manager_2": {
"inputs": {
"nixpkgs": [
"nixneovim",
"nixpkgs"
]
},
"locked": {
"lastModified": 1708806879,
"narHash": "sha256-MSbxtF3RThI8ANs/G4o1zIqF5/XlShHvwjl9Ws0QAbI=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "4ee704cb13a5a7645436f400b9acc89a67b9c08a",
"type": "github"
},
"original": {
@@ -451,11 +509,11 @@
"rust-overlay": "rust-overlay_3"
},
"locked": {
"lastModified": 1708355784,
"narHash": "sha256-Pf95nr82DUDSVnUpzRERtnopjiLC7Zi7QuKtJtoc+XE=",
"lastModified": 1708987072,
"narHash": "sha256-FVoalv8tlPldD6+6yyGFtiuao+YdEH1KbUPUmsEgUVc=",
"owner": "JakeStanger",
"repo": "ironbar",
"rev": "18e8244580ccffc3eee086becb62800fc6854c61",
"rev": "d29d4fde8c09c25141ff0cebe994d3ce771b658e",
"type": "github"
},
"original": {
@@ -564,11 +622,11 @@
]
},
"locked": {
"lastModified": 1708231718,
"narHash": "sha256-IZdieFWvhBkxoOFMDejqLUYqD94WN6k0YSpw0DFy+4g=",
"lastModified": 1709001452,
"narHash": "sha256-FnZ54wkil54hKvr1irdKic1TE27lHQI9dKQmOJRrtlU=",
"owner": "LnL7",
"repo": "nix-darwin",
"rev": "0e6857fa1d632637488666c08e7b02c08e3178f8",
"rev": "6c06334f0843c7300d1678726bb607ce526f6b36",
"type": "github"
},
"original": {
@@ -577,6 +635,97 @@
"type": "github"
}
},
"nix-flake-tests": {
"locked": {
"lastModified": 1677844186,
"narHash": "sha256-ErJZ/Gs1rxh561CJeWP5bohA2IcTq1rDneu1WT6CVII=",
"owner": "antifuchs",
"repo": "nix-flake-tests",
"rev": "bbd9216bd0f6495bb961a8eb8392b7ef55c67afb",
"type": "github"
},
"original": {
"owner": "antifuchs",
"repo": "nix-flake-tests",
"type": "github"
}
},
"nix-github-actions": {
"inputs": {
"nixpkgs": [
"nixneovim",
"nixneovimplugins",
"poetry2nix",
"nixpkgs"
]
},
"locked": {
"lastModified": 1688870561,
"narHash": "sha256-4UYkifnPEw1nAzqqPOTL2MvWtm3sNGw1UTYTalkTcGY=",
"owner": "nix-community",
"repo": "nix-github-actions",
"rev": "165b1650b753316aa7f1787f3005a8d2da0f5301",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-github-actions",
"type": "github"
}
},
"nixneovim": {
"inputs": {
"flake-utils": "flake-utils_7",
"haumea": "haumea",
"home-manager": "home-manager_2",
"nix-flake-tests": "nix-flake-tests",
"nixneovimplugins": "nixneovimplugins",
"nixpkgs": [
"nixpkgs"
],
"nmd": "nmd",
"nmt": "nmt"
},
"locked": {
"lastModified": 1708966912,
"narHash": "sha256-Ee92D/hOgJX2mGHxYEB50zu6OoqVFN4chTxxpAYj57c=",
"owner": "nixneovim",
"repo": "nixneovim",
"rev": "81f257a375aa66d0ae8cd2ac1c3215b42b20786e",
"type": "github"
},
"original": {
"owner": "nixneovim",
"repo": "nixneovim",
"type": "github"
}
},
"nixneovimplugins": {
"inputs": {
"flake-utils": [
"nixneovim",
"flake-utils"
],
"nixpkgs": [
"nixneovim",
"nixpkgs"
],
"poetry2nix": "poetry2nix"
},
"locked": {
"lastModified": 1708870615,
"narHash": "sha256-9GeZzoT8kxJY3OkpeOo/eJ4bqwaQTGggv3fR/5UdIkY=",
"owner": "nixneovim",
"repo": "nixneovimplugins",
"rev": "eb98507f0309ddb74d81367838e742d47e9e456f",
"type": "github"
},
"original": {
"owner": "nixneovim",
"repo": "nixneovimplugins",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1706487304,
@@ -659,11 +808,26 @@
},
"nixpkgs_4": {
"locked": {
"lastModified": 1708296515,
"narHash": "sha256-FyF489fYNAUy7b6dkYV6rGPyzp+4tThhr80KNAaF/yY=",
"lastModified": 1681001314,
"narHash": "sha256-5sDnCLdrKZqxLPK4KA8+f4A3YKO/u6ElpMILvX0g72c=",
"owner": "nix-community",
"repo": "nixpkgs.lib",
"rev": "367c0e1086a4eb4502b24d872cea2c7acdd557f4",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs.lib",
"type": "github"
}
},
"nixpkgs_5": {
"locked": {
"lastModified": 1708807242,
"narHash": "sha256-sRTRkhMD4delO/hPxxi+XwLqPn8BuUq6nnj4JqLwOu0=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "b98a4e1746acceb92c509bc496ef3d0e5ad8d4aa",
"rev": "73de017ef2d18a04ac4bfd0c02650007ccb31c2a",
"type": "github"
},
"original": {
@@ -673,6 +837,67 @@
"type": "github"
}
},
"nmd": {
"flake": false,
"locked": {
"lastModified": 1672949361,
"narHash": "sha256-WWg1kbilAb3sA+RoJtSYfAZvyYu1Nk79ocHaerwbQxQ=",
"owner": "~rycee",
"repo": "nmd",
"rev": "fb9cf8e991487c6923f3c654b8ae51b6f0f205ce",
"type": "sourcehut"
},
"original": {
"owner": "~rycee",
"repo": "nmd",
"rev": "fb9cf8e991487c6923f3c654b8ae51b6f0f205ce",
"type": "sourcehut"
}
},
"nmt": {
"flake": false,
"locked": {
"lastModified": 1694274695,
"narHash": "sha256-PufoLMSuBYkga8hTqYf/cIQzSuy2lfFj+cdKcp2nLEI=",
"owner": "jooooscha",
"repo": "nmt",
"rev": "29595267923b4a6ce766ff0d85afaa930842b88d",
"type": "github"
},
"original": {
"owner": "jooooscha",
"repo": "nmt",
"type": "github"
}
},
"poetry2nix": {
"inputs": {
"flake-utils": [
"nixneovim",
"nixneovimplugins",
"flake-utils"
],
"nix-github-actions": "nix-github-actions",
"nixpkgs": [
"nixneovim",
"nixneovimplugins",
"nixpkgs"
]
},
"locked": {
"lastModified": 1689849924,
"narHash": "sha256-d259Z2S7CS7Na04qQNQ6LYQILuI7cf4Rpe76qc4mz40=",
"owner": "nix-community",
"repo": "poetry2nix",
"rev": "1d7eda9336f336392d24e9602be5cb9be7ae405c",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "poetry2nix",
"type": "github"
}
},
"pre-commit-hooks-nix": {
"inputs": {
"flake-compat": [
@@ -716,7 +941,8 @@
"lanzaboote": "lanzaboote",
"neovim-nightly-overlay": "neovim-nightly-overlay",
"nix-darwin": "nix-darwin",
"nixpkgs": "nixpkgs_4"
"nixneovim": "nixneovim",
"nixpkgs": "nixpkgs_5"
}
},
"rust-overlay": {
@@ -893,6 +1119,21 @@
"repo": "default",
"type": "github"
}
},
"systems_7": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
}
},
"root": "root",

View File

@@ -47,6 +47,29 @@
inputs.nixpkgs.follows = "nixpkgs";
};
nixneovim = {
url = "github:nixneovim/nixneovim";
inputs.nixpkgs.follows = "nixpkgs";
};
# { pkgs, inputs, system, ... }:
# {
# nixpkgs.overlays = [
# (final: prev: {
# postman = prev.postman.overrideAttrs(old: rec {
# version = "20230716100528";
# src = final.fetchurl {
# url = "https://web.archive.org/web/${version}/https://dl.pstmn.io/download/latest/linux_64";
# sha256 = "sha256-svk60K4pZh0qRdx9+5OUTu0xgGXMhqvQTGTcmqBOMq8=";
# name = "${old.pname}-${version}.tar.gz";
# };
# });
# })
# ];
# }
};
outputs = { nixpkgs,
@@ -107,8 +130,22 @@
inputs.anyrun-nixos-options.packages.${prev.system}.default;
anyrun-rink = inputs.anyrun-rink.packages.${prev.system}.default;
};
overlays = [ inputs.neovim-nightly-overlay.overlay anyrun-overlay ];
# overlays = [ anyrun-overlay ];
# postman-overlay = final: prev: {
# postman = prev.postman.overrideAttrs (old: rec {
# version = "20230716100528";
# src = final.fetchurl {
# url =
# "https://dl.pstmn.io/download/latest/osx_arm64";
# sha256 = "sha256-P7x06KKH0e1Yro93SCEJyiWS/Uv25tWU8A85vxv85hI=";
# name = "${old.pname}-${version}.tar.gz";
# };
# });
# };
overlays = [
inputs.neovim-nightly-overlay.overlay
anyrun-overlay
inputs.nixneovim.overlays.default
];
in {
nixosConfigurations = let devices = nixos_devices;
in import ./nixos/device.nix {