init commit, ly, i3, polybar, neovim, alacritty, NixOS Flakes + Home-Manager
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.alacritty = {
|
||||
enable = true;
|
||||
theme = "hyper";
|
||||
|
||||
settings = {
|
||||
window = {
|
||||
padding = { x = 10; y = 10; };
|
||||
opacity = .9;
|
||||
};
|
||||
|
||||
font = {
|
||||
normal = {
|
||||
family = "Hack Nerd Font";
|
||||
style = "Mono";
|
||||
};
|
||||
size = 8.0;
|
||||
};
|
||||
|
||||
colors = {
|
||||
primary = {
|
||||
background = "#08090b"; # Black
|
||||
foreground = "#8d739c"; # Vintage Lavender 1
|
||||
};
|
||||
|
||||
normal = {
|
||||
black = "#1e1f21"; # Carbon Black
|
||||
red = "#4f3963"; # Vintage Grape
|
||||
green = "#7e6790"; # Vintage Lavender 2
|
||||
yellow = "#847397"; # Vintage Lavender 3
|
||||
blue = "#2c2137"; # Midnight Violet
|
||||
magenta = "#8d739c"; # Vintage Lavender 1
|
||||
cyan = "#7e6790"; # Vintage Lavender 2
|
||||
white = "#323335"; # Graphite
|
||||
};
|
||||
|
||||
# Bright colors map to the same palette for a consistent, flat aesthetic
|
||||
bright = {
|
||||
black = "#323335"; # Graphite
|
||||
red = "#4f3963"; # Vintage Grape
|
||||
green = "#7e6790"; # Vintage Lavender 2
|
||||
yellow = "#847397"; # Vintage Lavender 3
|
||||
blue = "#2c2137"; # Midnight Violet
|
||||
magenta = "#8d739c"; # Vintage Lavender 1
|
||||
cyan = "#7e6790"; # Vintage Lavender 2
|
||||
white = "#8d739c"; # Vintage Lavender 1
|
||||
};
|
||||
};
|
||||
|
||||
scrolling.multiplier = 3;
|
||||
};
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./alacritty.nix
|
||||
./git.nix
|
||||
./nvim.nix
|
||||
];
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.git = {
|
||||
enable = true;
|
||||
settings = {
|
||||
user = {
|
||||
name = "joshashtondev";
|
||||
email = "me@joshashton.dev";
|
||||
};
|
||||
|
||||
init.defaultBranch = "main";
|
||||
pull.rebase = true;
|
||||
push.autoSetupRemote = true;
|
||||
};
|
||||
|
||||
ignores = [
|
||||
".env"
|
||||
"*.log"
|
||||
"*.swp"
|
||||
".DS_STORE"
|
||||
];
|
||||
};
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
defaultEditor = true;
|
||||
|
||||
extraLuaConfig = ''
|
||||
vim.opt.number = true
|
||||
vim.opt.relativenumber = true
|
||||
vim.opt.tabstop = 2
|
||||
vim.opt.softtabstop = 2
|
||||
vim.opt.expandtab = true
|
||||
vim.opt.shiftwidth = 2
|
||||
vim.opt.smartindent = true
|
||||
vim.opt.wrap = false
|
||||
vim.opt.swapfile = false
|
||||
vim.opt.backup = false
|
||||
vim.opt.undofile = false
|
||||
vim.opt.hlsearch = false
|
||||
vim.opt.incsearch = true
|
||||
vim.opt.termguicolors = true
|
||||
vim.opt.clipboard = "unnamedplus"
|
||||
vim.opt.scrolloff = 999
|
||||
vim.opt.updatetime = 50
|
||||
vim.opt.foldmethod = "indent"
|
||||
vim.opt.foldlevel = 99
|
||||
|
||||
vim.g.mapleader = " "
|
||||
vim.keymap.set("n", "<leader>", ":")
|
||||
vim.keymap.set("n", "<leader>w", "<cmd>w<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<leader>q", "<cmd>q<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<leader>wq", "<cmd>wq<CR>", { silent = true })
|
||||
vim.keymap.set("n", "<leader>x", "<cmd>!chmod +x %<CR>", { silent = true })
|
||||
vim.keymap.set("n", "Q", "<nop>")
|
||||
vim.keymap.set("n", "o", "o<esc>")
|
||||
vim.keymap.set("n", "O", "O<esc>")
|
||||
vim.keymap.set("i", "jj", "<esc>")
|
||||
|
||||
local is_dark = vim.o.background ~= "light"
|
||||
require("cyberdream").setup({
|
||||
transparent = is_dark,
|
||||
variant = is_dark and "dark" or "light",
|
||||
terminal_colors = true,
|
||||
})
|
||||
vim.cmd.colorscheme("cyberdream")
|
||||
|
||||
require("nvim-tree").setup({
|
||||
view = { width = 30 },
|
||||
renderer = { group_empty = true },
|
||||
filters = { dotfiles = false },
|
||||
})
|
||||
|
||||
require("bufferline").setup({
|
||||
options = {
|
||||
offsets = {
|
||||
{
|
||||
filetype = "NvimTree",
|
||||
text = "Files",
|
||||
highlight = "Directory",
|
||||
separator = true,
|
||||
},
|
||||
},
|
||||
},
|
||||
})
|
||||
|
||||
require("lualine").setup({
|
||||
ons = { theme = "auto" },
|
||||
})
|
||||
|
||||
require("neocord").setup({
|
||||
logo = "auto",
|
||||
logo_tooltip = "Neovim",
|
||||
main_image = "language",
|
||||
show_time = true,
|
||||
global_timer = true,
|
||||
})
|
||||
|
||||
require("gitsigns").setup({
|
||||
signs = {
|
||||
add = { text = "+" },
|
||||
change = { text = "~" },
|
||||
delete = { text = "_" },
|
||||
},
|
||||
})
|
||||
'';
|
||||
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
{ plugin = cyberdream-nvim; }
|
||||
{ plugin = nvim-web-devicons; }
|
||||
{ plugin = nvim-tree-lua; }
|
||||
{ plugin = bufferline-nvim; }
|
||||
{ plugin = lualine-nvim; }
|
||||
{ plugin = neocord; }
|
||||
{ plugin = gitsigns-nvim; }
|
||||
];
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user