Compare commits

..

2 commits

Author SHA1 Message Date
743258bb44
Add stylix 2024-12-02 20:15:40 +01:00
e23ee8e96e
Add nixvim 2024-12-02 20:15:01 +01:00
29 changed files with 1290 additions and 589 deletions

File diff suppressed because it is too large Load diff

View file

@ -1,48 +1,85 @@
{ {
description = "Your new nix config"; description = "GHOSCHT's NixOS config";
inputs = { inputs = {
# Nixpkgs # Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11"; nixpkgs.url = "github:nixos/nixpkgs/nixos-24.11";
# You can access packages and modules from different nixpkgs revs
# at the same time. Here's an working example:
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable"; nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
# Home manager # Home manager
home-manager.url = "github:nix-community/home-manager/release-24.11"; home-manager = {
home-manager.inputs.nixpkgs.follows = "nixpkgs"; url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
hardware.url = "github:nixos/nixos-hardware"; hardware = {
url = "github:nixos/nixos-hardware";
inputs.nixpkgs.follows = "nixpkgs";
};
disko = { disko = {
url = "github:nix-community/disko"; url = "github:nix-community/disko";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
nix-colors.url = "github:misterio77/nix-colors";
firefox-addons = { firefox-addons = {
url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons"; url = "gitlab:rycee/nur-expressions?dir=pkgs/firefox-addons";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
arkenfox = { arkenfox = {
url = "github:dwarfmaster/arkenfox-nixos"; url = "github:dwarfmaster/arkenfox-nixos";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
xremap.url = "github:xremap/nix-flake";
flatpaks.url = "github:GermanBread/declarative-flatpak/stable-v3"; xremap = {
heliox-cli.url = "git+https://git.ghoscht.com/heliox/cli?ref=custom-dimming"; url = "github:xremap/nix-flake";
picokontroller.url = "git+https://git.ghoscht.com/ghoscht/picoKontroller"; inputs.nixpkgs.follows = "nixpkgs";
sops-nix.url = "github:Mic92/sops-nix";
arion.url = "github:hercules-ci/arion";
}; };
outputs = { flatpaks = {
self, url = "github:GermanBread/declarative-flatpak/stable-v3";
nixpkgs, inputs.nixpkgs.follows = "nixpkgs";
home-manager, };
...
} @ inputs: let heliox-cli = {
url = "git+https://git.ghoscht.com/heliox/cli?ref=custom-dimming";
inputs.nixpkgs.follows = "nixpkgs";
};
picokontroller = {
url = "git+https://git.ghoscht.com/ghoscht/picoKontroller";
inputs.nixpkgs.follows = "nixpkgs";
};
sops-nix = {
url = "github:Mic92/sops-nix";
inputs.nixpkgs.follows = "nixpkgs";
};
arion = {
url = "github:hercules-ci/arion";
inputs.nixpkgs.follows = "nixpkgs";
};
stylix = {
url = "github:danth/stylix";
inputs.nixpkgs.follows = "nixpkgs";
};
nixvim = {
url = "github:nix-community/nixvim/nixos-24.11";
inputs.nixpkgs.follows = "nixpkgs";
};
};
outputs =
{ self
, nixpkgs
, home-manager
, ...
} @ inputs:
let
inherit (self) outputs; inherit (self) outputs;
# Supported systems for your flake packages, shell, etc. # Supported systems for your flake packages, shell, etc.
systems = [ systems = [
@ -56,7 +93,8 @@
# pass to it, with each system as an argument # pass to it, with each system as an argument
forAllSystems = nixpkgs.lib.genAttrs systems; forAllSystems = nixpkgs.lib.genAttrs systems;
vars = import ./vars.nix; vars = import ./vars.nix;
in { in
{
# Your custom packages # Your custom packages
# Accessible through 'nix build', 'nix shell', etc # Accessible through 'nix build', 'nix shell', etc
packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system}); packages = forAllSystems (system: import ./pkgs nixpkgs.legacyPackages.${system});

View file

@ -11,11 +11,8 @@ in {
./features/games ./features/games
./features/coding ./features/coding
./features/desktop/common/3d-printing.nix ./features/desktop/common/3d-printing.nix
inputs.nix-colors.homeManagerModules.default
]; ];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
home.packages = [ home.packages = [
inputs.picokontroller.packages.x86_64-linux.default inputs.picokontroller.packages.x86_64-linux.default
# pkgs.citrix_workspace # pkgs.citrix_workspace

View file

@ -1,6 +1,5 @@
{ {
programs.bat = { programs.bat = {
enable = true; enable = true;
config.theme = "base16";
}; };
} }

View file

@ -2,7 +2,6 @@
programs.btop = { programs.btop = {
enable = true; enable = true;
settings = { settings = {
color_theme = "nix-colors";
theme_background = false; theme_background = false;
truecolor = true; truecolor = true;
vim_keys = true; vim_keys = true;
@ -10,89 +9,4 @@
proc_gradient = false; proc_gradient = false;
}; };
}; };
xdg.configFile."btop/themes/nix-colors".text = ''
# Main background, empty for terminal default, need to be empty if you want transparent background
# theme[main_bg]="#${config.colorScheme.colors.base00}"
# Main text color
theme[main_fg]="#${config.colorScheme.colors.base05}"
# Title color for boxes
theme[title]="#${config.colorScheme.colors.base05}"
# Highlight color for keyboard shortcuts
theme[hi_fg]="#${config.colorScheme.colors.base0D}"
# Background color of selected item in processes box
theme[selected_bg]="#${config.colorScheme.colors.base03}"
# Foreground color of selected item in processes box
theme[selected_fg]="#${config.colorScheme.colors.base0D}"
# Color of inactive/disabled text
theme[inactive_fg]="#${config.colorScheme.colors.base02}"
# Color of text appearing on top of graphs, i.e uptime and current network graph scaling
theme[graph_text]="#${config.colorScheme.colors.base06}"
# Background color of the percentage meters
theme[meter_bg]="#${config.colorScheme.colors.base03}"
# Misc colors for processes box including mini cpu graphs, details memory graph and details status text
theme[proc_misc]="#${config.colorScheme.colors.base06}"
# CPU, Memory, Network, Proc box outline colors
theme[cpu_box]="#${config.colorScheme.colors.base0E}" #Mauve
theme[mem_box]="#${config.colorScheme.colors.base0B}" #Green
theme[net_box]="#${config.colorScheme.colors.base08}" #Maroon
theme[proc_box]="#${config.colorScheme.colors.base0D}" #Blue
# Box divider line and small boxes line color
theme[div_line]="#${config.colorScheme.colors.base04}"
# Temperature graph color (Green -> Yellow -> Red)
theme[temp_start]="#${config.colorScheme.colors.base0B}"
theme[temp_mid]="#${config.colorScheme.colors.base0A}"
theme[temp_end]="#${config.colorScheme.colors.base08}"
# CPU graph colors (Teal -> Lavender)
theme[cpu_start]="#${config.colorScheme.colors.base0C}"
theme[cpu_mid]="#${config.colorScheme.colors.base0D}"
theme[cpu_end]="#${config.colorScheme.colors.base07}"
# Mem/Disk free meter (Mauve -> Lavender -> Blue)
theme[free_start]="#${config.colorScheme.colors.base0E}"
theme[free_mid]="#${config.colorScheme.colors.base07}"
theme[free_end]="#${config.colorScheme.colors.base0D}"
# Mem/Disk cached meter (Sapphire -> Lavender)
theme[cached_start]="#${config.colorScheme.colors.base0D}"
theme[cached_mid]="#${config.colorScheme.colors.base0D}"
theme[cached_end]="#${config.colorScheme.colors.base07}"
# Mem/Disk available meter (Peach -> Red)
theme[available_start]="#${config.colorScheme.colors.base0F}"
theme[available_mid]="#${config.colorScheme.colors.base09}"
theme[available_end]="#${config.colorScheme.colors.base08}"
# Mem/Disk used meter (Green -> Sky)
theme[used_start]="#${config.colorScheme.colors.base0B}"
theme[used_mid]="#${config.colorScheme.colors.base0C}"
theme[used_end]="#${config.colorScheme.colors.base0D}"
# Download graph colors (Peach -> Red)
theme[download_start]="#${config.colorScheme.colors.base0F}"
theme[download_mid]="#${config.colorScheme.colors.base09}"
theme[download_end]="#${config.colorScheme.colors.base08}"
# Upload graph colors (Green -> Sky)
theme[upload_start]="#${config.colorScheme.colors.base0B}"
theme[upload_mid]="#${config.colorScheme.colors.base0C}"
theme[upload_end]="#${config.colorScheme.colors.base0D}"
# Process box color gradient for threads, mem and cpu usage (Sapphire -> Mauve)
theme[process_start]="#${config.colorScheme.colors.base0D}"
theme[process_mid]="#${config.colorScheme.colors.base0C}"
theme[process_end]="#${config.colorScheme.colors.base0E}"
'';
} }

View file

@ -1,21 +1,5 @@
{config, ...}: { {config, ...}: {
programs.lazygit = { programs.lazygit = {
enable = true; enable = true;
settings = with config.colorScheme.colors; {
gui = {
theme = {
activeBorderColor = ["#${base0D}" "bold"];
inactiveBorderColor = ["#${base05}"];
optionsTextColor = ["#${base0D}"];
selectedLineBgColor = ["${base02}"];
selectedRangeBgColor = ["${base02}"];
cherryPickedCommitBgColor = ["#${base03}"];
cherryPickedCommitFgColor = ["#${base0D}"];
unstagedChangesColor = ["#${base08}"];
defaultFgColor = ["#${base05}"];
searchingActiveBorderColor = ["#${base0A}"];
};
};
};
}; };
} }

View file

@ -1,6 +1,7 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [ imports = [
./nvim # ./nvim
./nixvim
./vscode.nix ./vscode.nix
./intellij.nix ./intellij.nix
./tmux.nix ./tmux.nix

View file

@ -0,0 +1,95 @@
{
programs.nixvim.plugins = {
cmp-emoji = {
enable = true;
};
cmp = {
enable = true;
settings = {
completion = {
completeopt = "menu,menuone,noinsert";
};
autoEnableSources = true;
experimental = {ghost_text = true;};
performance = {
debounce = 60;
fetchingTimeout = 200;
maxViewEntries = 30;
};
snippet = {
expand = ''
function(args)
require('luasnip').lsp_expand(args.body)
end
'';
};
formatting = {fields = ["kind" "abbr" "menu"];};
sources = [
{name = "nvim_lsp";}
{name = "emoji";}
{
name = "buffer"; # text within current buffer
option.get_bufnrs.__raw = "vim.api.nvim_list_bufs";
keywordLength = 3;
}
# { name = "copilot"; } # enable/disable copilot
{
name = "path"; # file system paths
keywordLength = 3;
}
{
name = "luasnip"; # snippets
keywordLength = 3;
}
];
window = {
completion = {border = "solid";};
documentation = {border = "solid";};
};
mapping = {
"<Tab>" = "cmp.mapping(cmp.mapping.select_next_item(), {'i', 's'})";
"<C-j>" = "cmp.mapping.select_next_item()";
"<C-k>" = "cmp.mapping.select_prev_item()";
"<C-e>" = "cmp.mapping.abort()";
"<C-b>" = "cmp.mapping.scroll_docs(-4)";
"<C-f>" = "cmp.mapping.scroll_docs(4)";
"<C-Space>" = "cmp.mapping.complete()";
"<CR>" = "cmp.mapping.confirm({ select = true })";
"<S-CR>" = "cmp.mapping.confirm({ behavior = cmp.ConfirmBehavior.Replace, select = true })";
"<C-l>" = ''
cmp.mapping(function()
if luasnip.expand_or_locally_jumpable() then
luasnip.expand_or_jump()
end
end, { 'i', 's' })
'';
"<C-h>" = ''
cmp.mapping(function()
if luasnip.locally_jumpable(-1) then
luasnip.jump(-1)
end
end, { 'i', 's' })
'';
};
};
};
cmp-nvim-lsp = {
enable = true; # LSP
};
cmp-buffer = {
enable = true;
};
cmp-path = {
enable = true; # file system paths
};
cmp_luasnip = {
enable = true; # snippets
};
cmp-cmdline = {
enable = true; # autocomplete for cmdline
};
};
}

View file

@ -0,0 +1,12 @@
{inputs, ...}: {
imports = [
inputs.nixvim.homeManagerModules.nixvim
./options.nix
./plugins.nix
./cmp.nix
./lsp.nix
./none-ls.nix
./keymaps.nix
];
programs.nixvim.enable = true;
}

View file

@ -0,0 +1,112 @@
{
programs.nixvim.keymaps = [
{
mode = [
"n"
"v"
];
key = "<leader>fc";
action = "<cmd>lua vim.lsp.buf.format()<cr>";
options = {
silent = true;
desc = "Format Code";
};
}
{
mode = "n";
key = "<leader>ch";
action = "<cmd>noh<CR>";
options = {
desc = "Clear Highlighting";
};
}
{
mode = "n";
key = "<C-p>";
action = "<cmd>Telescope live_grep<CR>";
options = {
desc = "Telescope LiveGrep";
};
}
{
mode = "n";
key = "<leader>fg";
action = "<cmd>Telescope find_files<CR>";
options = {
desc = "Telescope File Search";
};
}
{
mode = "n";
key = "<C-n>";
action = "<Cmd>Neotree toggle<CR>";
options = {
desc = "Toggle Neotree";
};
}
{
mode = "n";
key = "<leader><tab><tab>";
action = "<cmd>tabnew<cr>";
options = {
desc = "New Tab";
};
}
{
mode = "n";
key = "<leader><tab>]";
action = "<cmd>BufferNext<cr>";
options = {
desc = "Next Tab";
};
}
{
mode = "n";
key = "<leader><tab>d";
action = "<cmd>BufferClose<cr>";
options = {
desc = "Close Tab";
};
}
{
mode = "n";
key = "<leader><tab>[";
action = "<cmd>BufferPrevious<cr>";
options = {
desc = "Previous Tab";
};
}
{
mode = "n";
key = "<c-k>";
action = ":wincmd k<CR>";
options = {
desc = "Go Up";
};
}
{
mode = "n";
key = "<c-j>";
action = ":wincmd j<CR>";
options = {
desc = "Go Down";
};
}
{
mode = "n";
key = "<c-h>";
action = ":wincmd h<CR>";
options = {
desc = "Go Left";
};
}
{
mode = "n";
key = "<c-l>";
action = ":wincmd l<CR>";
options = {
desc = "Go Right";
};
}
];
}

View file

@ -0,0 +1,25 @@
{
programs.nixvim.plugins.lsp = {
enable = true;
inlayHints = true;
servers = {
ts_ls.enable = true; # TS/JS
cssls.enable = true; # CSS
html.enable = true; # HTML
pyright.enable = true; # Python
marksman.enable = true; # Markdown
nil_ls.enable = true; # Nix
dockerls.enable = true; # Docker
bashls.enable = true; # Bash
clangd.enable = true; # C/C++
yamlls.enable = true; # YAML
lua_ls = {
# Lua
enable = true;
settings.telemetry.enable = false;
};
};
};
}

View file

@ -0,0 +1,42 @@
{
programs.nixvim.plugins = {
none-ls = {
enable = true;
sources = {
code_actions = {
statix.enable = true;
gitsigns.enable = true;
};
diagnostics = {
statix.enable = true;
deadnix.enable = true;
pylint.enable = true;
checkstyle.enable = true;
};
formatting = {
alejandra.enable = true;
stylua.enable = true;
shfmt.enable = true;
nixpkgs_fmt.enable = true;
google_java_format.enable = false;
prettier = {
enable = true;
disableTsServerFormatter = true;
};
black = {
enable = true;
settings = ''
{
extra_args = { "--fast" },
}
'';
};
};
completion = {
luasnip.enable = true;
spell.enable = true;
};
};
};
};
}

View file

@ -0,0 +1,52 @@
{
programs.nixvim = {
config = {
# System clipboard support, needs xclip/wl-clipboard
clipboard = {
providers = {
wl-copy.enable = true; # Wayland
xsel.enable = true; # For X11
};
register = "unnamedplus";
};
globals.mapleader = " ";
opts = {
number = true; # Show line numbers
relativenumber = true; # Show relative line numbers
shiftwidth = 2; # Tab width should be 2
# Always show the signcolumn, otherwise text would be shifted when displaying error icons
signcolumn = "yes";
# Enable mouse
mouse = "a";
# Search
ignorecase = true;
smartcase = true;
# Save undo history
undofile = true;
# Global substitution by default
gdefault = true;
# Start scrolling when the cursor is X lines away from the top/bottom
scrolloff = 8;
# Enable 24-bit RGB color in the TUI
termguicolors = true;
# Wrap long lines at a character in 'breakat'
linebreak = true;
smartindent = true;
# Remove EOB
fillchars = {
eob = " ";
};
};
};
};
}

View file

@ -0,0 +1,112 @@
{ pkgs, ... }: {
programs.nixvim.plugins = {
lualine.enable = true;
oil.enable = true;
nvim-surround.enable = true;
treesitter = {
enable = true;
grammarPackages = with pkgs.vimPlugins.nvim-treesitter.builtGrammars; [
markdown
# nix
vim
bash
lua
python
json
java
rust
cpp
c
css
csv
dockerfile
diff
gitignore
git_config
gitattributes
make
yaml
toml
typescript
xml
];
};
# Autopairs
nvim-autopairs = {
enable = true;
};
luasnip.enable = true;
lazygit.enable = true;
barbar.enable = true;
rainbow-delimiters.enable = true;
web-devicons.enable = true;
telescope = {
enable = true;
extensions = {
fzf-native = {
enable = true;
};
};
};
# Dashboard
alpha = {
enable = true;
theme = "dashboard";
};
# File tree
neo-tree = {
enable = true;
enableDiagnostics = false;
enableGitStatus = true;
enableModifiedMarkers = true;
enableRefreshOnWrite = true;
closeIfLastWindow = true;
popupBorderStyle = "rounded"; # Type: null or one of “NC”, “double”, “none”, “rounded”, “shadow”, “single”, “solid” or raw lua code
buffers = {
bindToCwd = false;
followCurrentFile = {
enabled = true;
};
};
window = {
width = 40;
height = 15;
autoExpandWidth = false;
mappings = {
"<space>" = "none";
};
};
};
# Todo comments
todo-comments = {
enable = true;
settings.colors = {
error = [ "DiagnosticError" "ErrorMsg" "#DC2626" ];
warning = [ "DiagnosticWarn" "WarningMsg" "#FBBF24" ];
info = [ "DiagnosticInfo" "#2563EB" ];
hint = [ "DiagnosticHint" "#10B981" ];
default = [ "Identifier" "#7C3AED" ];
test = [ "Identifier" "#FF00FF" ];
};
};
# Highlight word under cursor
illuminate = {
enable = true;
underCursor = false;
filetypesDenylist = [
"Outline"
"TelescopePrompt"
"alpha"
"harpoon"
"reason"
];
};
};
}

View file

@ -6,7 +6,6 @@
... ...
}: let }: let
vars = import ../../../../vars.nix; vars = import ../../../../vars.nix;
colors = config.colorScheme.colors;
stableExtraPkgs = with pkgs; [ stableExtraPkgs = with pkgs; [
# LSP # LSP
lua-language-server lua-language-server
@ -134,18 +133,6 @@ in {
vim-nix vim-nix
{
plugin = base16-nvim;
config = ''
require('base16-colorscheme').setup({
base00 = '#${colors.base00}', base01 = '#${colors.base01}', base02 = '#${colors.base02}', base03 = '#${colors.base03}',
base04 = '#${colors.base04}', base05 = '#${colors.base05}', base06 = '#${colors.base06}', base07 = '#${colors.base07}',
base08 = '#${colors.base08}', base09 = '#${colors.base09}', base0A = '#${colors.base0A}', base0B = '#${colors.base0B}',
base0C = '#${colors.base0C}', base0D = '#${colors.base0D}', base0E = '#${colors.base0E}', base0F = '#${colors.base0F}',
})'';
type = "lua";
}
{ {
plugin = lualine-nvim; plugin = lualine-nvim;
config = builtins.readFile ./plugin/lualine.lua; config = builtins.readFile ./plugin/lualine.lua;

View file

@ -44,7 +44,7 @@ require("lspconfig").nixd.setup({
capabilities = capabilities, capabilities = capabilities,
}) })
require("lspconfig").tsserver.setup({ require("lspconfig").ts_lsp.setup({
on_attach = on_attach, on_attach = on_attach,
capabilities = capabilities, capabilities = capabilities,
}) })

View file

@ -31,9 +31,6 @@ in {
]; ];
userSettings = { userSettings = {
#Theming #Theming
"workbench.colorTheme" = "Catppuccin Mocha";
"catppuccin.accentColor" = "green";
"workbench.iconTheme" = "material-icon-theme";
"window.menuBarVisibility" = "toggle"; "window.menuBarVisibility" = "toggle";
"editor.minimap.autohide" = false; "editor.minimap.autohide" = false;
#Extensions - General #Extensions - General

View file

@ -1,47 +1,9 @@
{pkgs, ...}: { {
programs.zathura = { programs.zathura = {
enable = true; enable = true;
options = { options = {
selection-clipboard = "clipboard"; selection-clipboard = "clipboard";
statusbar-home-tilde = true; statusbar-home-tilde = true;
default-fg = "#CDD6F4";
default-bg = "#1E1E2E";
completion-bg = "#313244";
completion-fg = "#CDD6F4";
completion-highlight-bg = "#575268";
completion-highlight-fg = "#CDD6F4";
completion-group-bg = "#313244";
completion-group-fg = "#89B4FA";
statusbar-fg = "#CDD6F4";
statusbar-bg = "#313244";
notification-bg = "#313244";
notification-fg = "#CDD6F4";
notification-error-bg = "#313244";
notification-error-fg = "#F38BA8";
notification-warning-bg = "#313244";
notification-warning-fg = "#FAE3B0";
inputbar-fg = "#CDD6F4";
inputbar-bg = "#313244";
recolor-lightcolor = "#1E1E2E";
recolor-darkcolor = "#CDD6F4";
index-fg = "#CDD6F4";
index-bg = "#1E1E2E";
index-active-fg = "#CDD6F4";
index-active-bg = "#313244";
render-loading-bg = "#1E1E2E";
render-loading-fg = "#CDD6F4";
highlight-color = "#575268";
highlight-fg = "#F5C2E7";
highlight-active-color = "#F5C2E7";
}; };
}; };
} }

View file

@ -1,8 +1,6 @@
{pkgs, ...}: { {pkgs, ...}: {
imports = [ imports = [
./theming.nix
./firefox.nix ./firefox.nix
./alacritty.nix
./wezterm.nix ./wezterm.nix
./font.nix ./font.nix
./playerctl.nix ./playerctl.nix

View file

@ -1,8 +1,7 @@
{ { inputs
inputs, , pkgs
pkgs, , vars
vars, , ...
...
}: { }: {
imports = [ inputs.arkenfox.hmModules.default ]; imports = [ inputs.arkenfox.hmModules.default ];
home.file.".mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "${pkgs.plasma5Packages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json"; home.file.".mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json".source = "${pkgs.plasma5Packages.plasma-browser-integration}/lib/mozilla/native-messaging-hosts/org.kde.plasma.browser_integration.json";
@ -22,6 +21,10 @@
darkreader darkreader
tabliss tabliss
consent-o-matic consent-o-matic
floccus
gesturefy
plasma-integration
libredirect
# bypass-paywalls-clean # bypass-paywalls-clean
]; ];
@ -50,7 +53,7 @@
"Home Manager" = { "Home Manager" = {
urls = [ urls = [
{ {
template = "https://mipmip.github.io/home-manager-option-search"; template = "https://home-manager-options.extranix.com";
params = [ params = [
{ {
name = "query"; name = "query";

View file

@ -3,8 +3,6 @@
services.flatpak = { services.flatpak = {
remotes.flathub = "https://flathub.org/repo/flathub.flatpakrepo"; remotes.flathub = "https://flathub.org/repo/flathub.flatpakrepo";
packages = [ packages = [
"flathub:app/us.zoom.Zoom//stable"
"flathub:app/com.discordapp.Discord//stable"
"flathub:app/md.obsidian.Obsidian//stable" "flathub:app/md.obsidian.Obsidian//stable"
"flathub:app/com.github.iwalton3.jellyfin-media-player//stable" "flathub:app/com.github.iwalton3.jellyfin-media-player//stable"
]; ];

View file

@ -1,33 +0,0 @@
{pkgs, ...}: {
home.pointerCursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 25;
x11.enable = true;
gtk.enable = true;
};
# gtk.cursorTheme.package = pkgs.bibata-cursors;
# gtk.cursorTheme.name = "Bibata-Modern-Ice";
# home.file.".icons/bibata".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
# xdg.dataFile."icons/bibata".source = "${pkgs.bibata-cursors}/share/icons/Bibata-Modern-Classic";
gtk = {
enable = true;
theme.package = pkgs.adw-gtk3;
theme.name = "adw-gtk3-dark";
iconTheme.package = pkgs.papirus-icon-theme;
iconTheme.name = "Papirus";
};
qt = {
enable = true;
platformTheme.name = "gtk";
style.package = with pkgs; [adwaita-qt adwaita-qt6];
style.name = "adwaita-dark";
};
home.packages = with pkgs; [
libsForQt5.qt5.qtquickcontrols2
libsForQt5.qt5.qtgraphicaleffects
];
}

View file

@ -5,44 +5,11 @@
}: { }: {
programs.wezterm = { programs.wezterm = {
enable = true; enable = true;
colorSchemes = {
"${config.colorscheme.slug}" = with config.colorScheme; {
foreground = "#${colors.base05}";
background = "#${colors.base00}";
ansi = [
"#${colors.base00}"
"#${colors.base08}"
"#${colors.base0B}"
"#${colors.base0A}"
"#${colors.base0D}"
"#${colors.base0E}"
"#${colors.base0C}"
"#${colors.base05}"
];
brights = [
"#${colors.base03}"
"#${colors.base08}"
"#${colors.base0B}"
"#${colors.base0A}"
"#${colors.base0D}"
"#${colors.base0E}"
"#${colors.base0C}"
"#${colors.base07}"
];
cursor_fg = "#${colors.base00}";
cursor_bg = "#${colors.base05}";
selection_fg = "#${colors.base00}";
selection_bg = "#${colors.base05}";
};
};
extraConfig = '' extraConfig = ''
return { return {
front_end = "WebGpu", -- fixes https://github.com/wez/wezterm/issues/5990H
warn_about_missing_glyphs=false, warn_about_missing_glyphs=false,
font = wezterm.font("${config.fontProfiles.monospace.family}"), -- window_background_opacity = 0.83,
font_size = 12.0,
window_background_opacity = 0.83,
color_scheme = "${config.colorscheme.slug}",
hide_tab_bar_if_only_one_tab = true, hide_tab_bar_if_only_one_tab = true,
window_close_confirmation = "NeverPrompt", window_close_confirmation = "NeverPrompt",
use_ime = true, use_ime = true,

View file

@ -8,11 +8,8 @@ in {
./global ./global
./features/coding/nvim ./features/coding/nvim
./features/coding/tmux.nix ./features/coding/tmux.nix
inputs.nix-colors.homeManagerModules.default
]; ];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
home.file.".docker" = { home.file.".docker" = {
source = ../rsc/docker/franz; source = ../rsc/docker/franz;
recursive = true; recursive = true;

View file

@ -10,12 +10,10 @@ in {
./features/desktop/awesome ./features/desktop/awesome
./features/desktop/gnome ./features/desktop/gnome
./features/coding ./features/coding
inputs.nix-colors.homeManagerModules.default
]; ];
home.packages = with pkgs; [nextcloud-client]; home.packages = with pkgs; [nextcloud-client];
colorScheme = inputs.nix-colors.colorSchemes.catppuccin-mocha;
nixpkgs = { nixpkgs = {
config = { config = {
permittedInsecurePackages = [ permittedInsecurePackages = [

View file

@ -0,0 +1,37 @@
{
inputs,
pkgs,
...
}: {
imports = [inputs.stylix.nixosModules.stylix];
stylix = {
enable = true;
polarity = "dark";
image = ../../../rsc/wallpaper/rolltreppe-gluehwein.jpg;
base16Scheme = "${pkgs.base16-schemes}/share/themes/catppuccin-mocha.yaml";
# targets = {nixvim.transparentBackground.signColumn = true;};
cursor = {
package = pkgs.bibata-cursors;
name = "Bibata-Modern-Ice";
size = 25;
};
fonts = {
monospace = {
package = pkgs.nerdfonts.override {fonts = ["JetBrainsMono"];};
name = "JetBrainsMono Nerd Font Mono";
};
sansSerif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Sans";
};
serif = {
package = pkgs.dejavu_fonts;
name = "DejaVu Serif";
};
};
};
}

View file

@ -35,6 +35,7 @@
../common/optional/udisks.nix ../common/optional/udisks.nix
../common/optional/tailscale.nix ../common/optional/tailscale.nix
../common/optional/fhs-compat.nix ../common/optional/fhs-compat.nix
../common/optional/stylix.nix
]; ];
nixpkgs = { nixpkgs = {

View file

@ -17,7 +17,7 @@ local my_table = awful.util.table or gears.table -- 4.{0,1} compatibility
local theme = {} local theme = {}
theme.dir = os.getenv("HOME") .. "/.config/awesome/" theme.dir = os.getenv("HOME") .. "/.config/awesome/"
theme.wallpaper_dir = os.getenv("HOME") .. "/.wallpapers/" theme.wallpaper_dir = os.getenv("HOME") .. "/.wallpapers/"
theme.wallpaper = theme.wallpaper_dir .. "/rolltreppe-glühwein.jpg" theme.wallpaper = theme.wallpaper_dir .. "/rolltreppe-gluehwein.jpg"
theme.font = "JetBrainsMono Nerd Font 9" theme.font = "JetBrainsMono Nerd Font 9"
theme.fg_normal = colors.text theme.fg_normal = colors.text
theme.fg_focus = colors.teal theme.fg_focus = colors.teal

View file

Before

Width:  |  Height:  |  Size: 11 MiB

After

Width:  |  Height:  |  Size: 11 MiB