Finally switch to flakes.
This commit is contained in:
parent
a90e09db74
commit
5e0b713756
116 changed files with 5443 additions and 3 deletions
156
home-manager/tuiapps/fastfetch.nix
Normal file
156
home-manager/tuiapps/fastfetch.nix
Normal file
|
@ -0,0 +1,156 @@
|
|||
{pkgs, ...}: {
|
||||
home = {
|
||||
file = let
|
||||
# Neofetch main config
|
||||
neoConf = ''
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"source": "xenia",
|
||||
"color": {
|
||||
"1": "1;97",
|
||||
"2": "red",
|
||||
"3": "yellow"
|
||||
}
|
||||
},
|
||||
"display": {
|
||||
"separator": " \u001b[33m ",
|
||||
"color": "red"
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[1m—————————————————————————————————————"
|
||||
},
|
||||
{
|
||||
"type": "host",
|
||||
"format": "{5} {2}",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "cpu",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "gpu",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "disk",
|
||||
"folders": "/",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"format": "{/1}{-}{/}{/2}{-}{/}{} / {}",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "display",
|
||||
"compactType": "original",
|
||||
"key": " "
|
||||
},
|
||||
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[1m—————————————————————————————————————"
|
||||
},
|
||||
{
|
||||
"type": "os",
|
||||
"format": "{3} {12}",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"format": "{1} {2}",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "wm",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "shell",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "terminal",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "command",
|
||||
"text": "date -d @$(stat -c %W /) '+%a %b %d %r %Z %Y'",
|
||||
"key": " "
|
||||
},
|
||||
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[1m—————————————————————————————————————"
|
||||
},
|
||||
{
|
||||
"type": "custom",
|
||||
"format": "\u001b[90m \u001b[31m \u001b[32m \u001b[33m \u001b[34m \u001b[35m \u001b[36m \u001b[37m"
|
||||
}
|
||||
]
|
||||
}
|
||||
'';
|
||||
in {
|
||||
# Fastfetch config
|
||||
".config/fastfetch/config.jsonc".text = neoConf;
|
||||
};
|
||||
packages = let
|
||||
# Small Neofetch config
|
||||
pFetch = let
|
||||
smallConf = pkgs.writeText "smallconf.jsonc" ''
|
||||
{
|
||||
"$schema": "https://github.com/fastfetch-cli/fastfetch/raw/dev/doc/json_schema.json",
|
||||
"logo": {
|
||||
"source": "nixos_small"
|
||||
},
|
||||
"modules": [
|
||||
{
|
||||
"type": "os",
|
||||
"format": "{3} {12}",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "host",
|
||||
"format": "{5}",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "kernel",
|
||||
"format": "{1} {2}",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "uptime",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "packages",
|
||||
"key": " "
|
||||
},
|
||||
{
|
||||
"type": "memory",
|
||||
"format": "{/1}{-}{/}{/2}{-}{/}{} / {}",
|
||||
"key": " "
|
||||
}
|
||||
]
|
||||
}
|
||||
'';
|
||||
in pkgs.writeScriptBin "pfetch"
|
||||
''fastfetch --config ${smallConf}'';
|
||||
in with pkgs; [
|
||||
fastfetch pFetch
|
||||
];
|
||||
};
|
||||
}
|
11
home-manager/tuiapps/git.nix
Normal file
11
home-manager/tuiapps/git.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{
|
||||
# Enable git and config
|
||||
programs.git = let
|
||||
secrets = import ../../nixos/common/secrets.nix;
|
||||
in {
|
||||
enable = true;
|
||||
lfs.enable = true;
|
||||
userName = secrets.jimUsername;
|
||||
userEmail = secrets.jimEmail;
|
||||
};
|
||||
}
|
18
home-manager/tuiapps/ncmpcpp.nix
Normal file
18
home-manager/tuiapps/ncmpcpp.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{pkgs, ...}: {
|
||||
# Enable NCMPCPP
|
||||
programs.ncmpcpp = {
|
||||
enable = true;
|
||||
settings = {
|
||||
browser_sort_mode = "name";
|
||||
user_interface = "alternative";
|
||||
};
|
||||
};
|
||||
|
||||
# Enable Discord Music RPC
|
||||
services.mpd-discord-rpc.enable = true;
|
||||
|
||||
# Allow terminal control of mpd
|
||||
home.packages = with pkgs; [
|
||||
mpc-cli
|
||||
];
|
||||
}
|
104
home-manager/tuiapps/neovim.nix
Normal file
104
home-manager/tuiapps/neovim.nix
Normal file
|
@ -0,0 +1,104 @@
|
|||
{pkgs, ...}: {
|
||||
# Install Neovim and plugins
|
||||
programs.neovim = {
|
||||
enable = true;
|
||||
defaultEditor = true;
|
||||
viAlias = true;
|
||||
vimAlias = true;
|
||||
plugins = with pkgs.vimPlugins; [
|
||||
# Vim theme
|
||||
vim-airline
|
||||
vim-airline-themes
|
||||
|
||||
# Internal clipboard
|
||||
vim-vsnip
|
||||
cmp-vsnip
|
||||
|
||||
# Autocomplete manager
|
||||
lspkind-nvim
|
||||
|
||||
# Autocomplete plugins
|
||||
cmp-nvim-lsp
|
||||
cmp-buffer
|
||||
cmp-path
|
||||
cmp-cmdline
|
||||
nvim-cmp
|
||||
|
||||
# Hex color visualizer and color theme
|
||||
nvim-colorizer-lua
|
||||
vim-monokai-pro
|
||||
];
|
||||
extraConfig = let
|
||||
# Import colors
|
||||
colors = import ../style/colors.nix;
|
||||
in ''
|
||||
lua <<EOF
|
||||
-- Set up nvim-cmp
|
||||
local cmp = require'cmp'
|
||||
|
||||
cmp.setup({
|
||||
snippet = {
|
||||
-- REQUIRED - you must specify a snippet engine
|
||||
expand = function(args)
|
||||
vim.fn["vsnip#anonymous"](args.body)
|
||||
end,
|
||||
},
|
||||
mapping = cmp.mapping.preset.insert({
|
||||
['<C-b>'] = cmp.mapping.scroll_docs(-4),
|
||||
['<C-f>'] = cmp.mapping.scroll_docs(4),
|
||||
['<C-Space>'] = cmp.mapping.complete(),
|
||||
['<C-e>'] = cmp.mapping.abort(),
|
||||
['<CR>'] = cmp.mapping.confirm({ select = true }), -- Accept currently selected item. Set `select` to `false` to only confirm explicitly selected items.
|
||||
}),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'nvim_lsp' },
|
||||
{ name = 'vsnip' }
|
||||
}, {
|
||||
{ name = 'buffer' },
|
||||
})
|
||||
})
|
||||
|
||||
-- Use buffer source for '/' and '?'
|
||||
cmp.setup.cmdline({ '/', '?' }, {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = {
|
||||
{ name = 'buffer' }
|
||||
}
|
||||
})
|
||||
|
||||
-- Use cmdline & path source for ':'
|
||||
cmp.setup.cmdline(':', {
|
||||
mapping = cmp.mapping.preset.cmdline(),
|
||||
sources = cmp.config.sources({
|
||||
{ name = 'path' }
|
||||
}, {
|
||||
{ name = 'cmdline' }
|
||||
})
|
||||
})
|
||||
EOF
|
||||
|
||||
colorscheme monokai_pro
|
||||
let g:airline_theme='onedark'
|
||||
let g:airline#extensions#tabline#enabled = 1
|
||||
hi Normal guibg=none ctermbg=235
|
||||
hi Visual guibg=#${colors.mid} ctermbg=238
|
||||
hi Pmenu guibg=#${colors.mid} ctermbg=238
|
||||
hi EndOfBuffer guibg=none ctermbg=235
|
||||
hi LineNr guibg=none ctermbg=none
|
||||
lua require'colorizer'.setup()
|
||||
|
||||
set nu rnu
|
||||
set termguicolors
|
||||
set mouse=a
|
||||
|
||||
set undofile
|
||||
set undodir=$HOME/.local/share/nvim/undo
|
||||
set undolevels=100
|
||||
set undoreload=10000
|
||||
|
||||
nmap <C-x> :bnext<CR>
|
||||
nmap <C-z> :bprev<CR>
|
||||
nmap <C-w> :bd<CR>
|
||||
'';
|
||||
};
|
||||
}
|
30
home-manager/tuiapps/pcs.nix
Normal file
30
home-manager/tuiapps/pcs.nix
Normal file
|
@ -0,0 +1,30 @@
|
|||
{pkgs, inputs, ...}: {
|
||||
# Select default apps
|
||||
xdg.mimeApps.defaultApplications = {
|
||||
"inode/directory" = ["pcmanfm-qt.desktop"];
|
||||
"text/plain" = ["nvim.desktop"];
|
||||
"image/png" = ["imv.desktop"];
|
||||
"image/jpeg" = ["imv.desktop"];
|
||||
"video/*" = ["mpv.desktop"];
|
||||
};
|
||||
|
||||
# Set dconf settings
|
||||
dconf.settings = {
|
||||
"org/gnome/desktop/interface/color-scheme" = {
|
||||
color-scheme = "prefer-dark";
|
||||
};
|
||||
"org/virt-manager/virt-manager/connections" = {
|
||||
autoconnect = ["qemu:///system"];
|
||||
uris = ["qemu:///system"];
|
||||
};
|
||||
};
|
||||
|
||||
home.file = let
|
||||
alsoftConf = ''
|
||||
drivers=pulse
|
||||
'';
|
||||
in {
|
||||
# Alsoft config
|
||||
".alsoftrc".text = alsoftConf;
|
||||
};
|
||||
}
|
126
home-manager/tuiapps/ranger.nix
Normal file
126
home-manager/tuiapps/ranger.nix
Normal file
|
@ -0,0 +1,126 @@
|
|||
{pkgs, ...}: {
|
||||
# Enable Ranger
|
||||
programs.ranger = {
|
||||
enable = true;
|
||||
settings = {
|
||||
preview_images = true;
|
||||
preview_images_method = "sixel";
|
||||
dirname_in_tabs = true;
|
||||
cd_tab_fuzzy = true;
|
||||
autosave_bookmarks = false;
|
||||
show_hidden = true;
|
||||
wrap_scroll = true;
|
||||
column_ratios = "2,2,4";
|
||||
hidden_filter = ''^\.|\.(?:pyc|pyo|bak|swp)$|^lost\+found$|^__(py)?cache__$'';
|
||||
};
|
||||
rifle = [
|
||||
# Text editing
|
||||
{
|
||||
condition = ''ext xml|json|jsonc|m3u|m3u8|csv|tex|py|pl|rb|js|sh|php|md|nix'';
|
||||
command = ''vim -- "$@"'';
|
||||
}
|
||||
|
||||
# Media
|
||||
{
|
||||
condition = ''mime ^image, has imv, X, flag f'';
|
||||
command = ''imv -- "$@"'';
|
||||
}
|
||||
{
|
||||
condition = ''mime ^video, terminal, has mpv'';
|
||||
command = ''mpv -- "$@"'';
|
||||
}
|
||||
{
|
||||
condition = ''mime ^video, terminal, has mpv'';
|
||||
command = ''mpv --video-rotate=270 -- "$@"'';
|
||||
}
|
||||
{
|
||||
condition = ''mime ^audio|ogg$, terminal, has mpv'';
|
||||
command = ''mpv --no-audio-display -- "$@"'';
|
||||
}
|
||||
{
|
||||
condition = ''mime ^audio|ogg$, terminal, has mpv'';
|
||||
command = ''mpv --shuffle --no-audio-display -- "$@"'';
|
||||
}
|
||||
{
|
||||
condition = ''ext x?html?|pdf, has librewolf, X, flag f'';
|
||||
command = ''librewolf -- "$@"'';
|
||||
}
|
||||
{
|
||||
condition = ''ext pptx?|od[dfgpst]|docx?|sxc|xlsx?|xlt|xlw|gnm|gnumeric, has libreoffice, X, flag f'';
|
||||
command = ''libreoffice "$@"'';
|
||||
}
|
||||
|
||||
# Scripts
|
||||
{
|
||||
condition = ''sh'';
|
||||
command = ''sh -- "$1"'';
|
||||
}
|
||||
{
|
||||
condition = ''py'';
|
||||
command = ''python -- "$1"'';
|
||||
}
|
||||
{
|
||||
condition = ''pl'';
|
||||
command = ''perl -- "$1"'';
|
||||
}
|
||||
{
|
||||
condition = ''js'';
|
||||
command = ''node -- "$1"'';
|
||||
}
|
||||
{
|
||||
condition = ''php'';
|
||||
command = ''php -- "$1"'';
|
||||
}
|
||||
|
||||
# Misc
|
||||
{
|
||||
condition = ''ext exe|msi'';
|
||||
command = ''wine "$1"'';
|
||||
}
|
||||
{
|
||||
condition = ''ext 7z|ace|ar|arc|bz2?|cab|cpio|cpt|deb|dgc|dmg|gz|iso|jar|pkg|rar|shar|tar|tgz|xar|xpi|xz|zip, has 7z'';
|
||||
command = ''7z x -- "$@"'';
|
||||
}
|
||||
{
|
||||
condition = ''label open, has xdg-open'';
|
||||
command = ''xdg-open -- "$@"'';
|
||||
}
|
||||
];
|
||||
plugins = [
|
||||
{
|
||||
name = "devicons2";
|
||||
src = builtins.fetchGit {
|
||||
url = "https://github.com/cdump/ranger-devicons2";
|
||||
rev = "9606009aa01743768b0f27de0a841f7d8fe196c5";
|
||||
};
|
||||
}
|
||||
];
|
||||
extraConfig = ''
|
||||
default_linemode devicons2
|
||||
'';
|
||||
};
|
||||
|
||||
# Ranger's bookmarks
|
||||
home.file = let
|
||||
rangerBookmarks = ''
|
||||
# Local files
|
||||
k:/home/jimbo/Downloads
|
||||
v:/home/jimbo/Videos
|
||||
c:/home/jimbo/.config
|
||||
L:/home/jimbo/.local
|
||||
D:/mnt
|
||||
n:/etc/nixos
|
||||
|
||||
# Remote files
|
||||
a:/home/jimbo/JimboNFS
|
||||
K:/home/jimbo/JimboNFS/Downloads
|
||||
p:/home/jimbo/JimboNFS/Photos
|
||||
P:/home/jimbo/JimboNFS/Projects
|
||||
V:/home/jimbo/JimboNFS/Videos/Random
|
||||
m:/home/jimbo/JimboNFS/Music
|
||||
s:/home/jimbo/JimboNFS/School
|
||||
'';
|
||||
in {
|
||||
".local/share/ranger/bookmarks".text = rangerBookmarks;
|
||||
};
|
||||
}
|
22
home-manager/tuiapps/tmux.nix
Normal file
22
home-manager/tuiapps/tmux.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{
|
||||
# Enable tmux
|
||||
programs.tmux = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
set -g mouse on
|
||||
set -g base-index 1
|
||||
set -g default-terminal "st-256color"
|
||||
set -g history-limit 4096
|
||||
set -g set-titles on
|
||||
set -g set-titles-string "#T"
|
||||
set -g status on
|
||||
set -g status-left ""
|
||||
set -g status-position bottom
|
||||
set -g status-right "#[bg=brightblack]#[fg=dark_purple] #T "
|
||||
set -g status-style "bg=black"
|
||||
setw -g pane-base-index 1
|
||||
setw -g window-status-format "#[bg=brightmagenta]#[fg=black] #I #[bg=brightblack]#[fg=white] #W "
|
||||
setw -g window-status-current-format "#[bg=brightmagenta]#[fg=black] #I #[bg=white]#[fg=black] #W "
|
||||
'';
|
||||
};
|
||||
}
|
52
home-manager/tuiapps/zsh.nix
Normal file
52
home-manager/tuiapps/zsh.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{pkgs, ...}: {
|
||||
programs.zsh = let
|
||||
auth = import ../common/auth.nix;
|
||||
nixcfg = import ../common/nixcfg.nix;
|
||||
in {
|
||||
enable = true;
|
||||
autosuggestion.enable = true;
|
||||
syntaxHighlighting.enable = true;
|
||||
oh-my-zsh = {
|
||||
enable = true;
|
||||
plugins = ["git"];
|
||||
};
|
||||
shellAliases = {
|
||||
# NixOS aliases
|
||||
nixcfg = "${nixcfg.open}";
|
||||
nixclean = "${auth.method} nix-store --gc; nix-collect-garbage -d; notify-send 'NixOS store clean finished.'";
|
||||
nixpurge = "${auth.method} nix-collect-garbage --delete-old; notify-send 'NixOS generation removed.'";
|
||||
nixoptimize = "${auth.method} nix store optimise; notify-send 'NixOS store optimization finished.'";
|
||||
|
||||
# Shortcut aliases
|
||||
neo = "clear && fastfetch";
|
||||
pfetch = "fastfetch --config ~/.config/fastfetch/small.jsonc";
|
||||
ip = "ip -c";
|
||||
ls = "${pkgs.eza}/bin/eza -a --color=always --group-directories-first --icons";
|
||||
nls = "/usr/bin/env ls";
|
||||
cat = "${pkgs.bat}/bin/bat --paging never";
|
||||
ncat = "/usr/bin/env cat";
|
||||
copycat = "wl-copy <";
|
||||
sunshinehost = "WAYLAND_DISPLAY=wayland-1 DISPLAY=:1 sunshine -0";
|
||||
seneca = "ssh jhampton1@matrix.senecapolytechnic.ca";
|
||||
|
||||
# Curl tools
|
||||
myip = "curl ifconfig.co";
|
||||
|
||||
# Download from sources
|
||||
ytdl = "yt-dlp --embed-thumbnail --embed-metadata --output \"%(title)s.%(ext)s\"";
|
||||
ytmp4 = "ytdl --recode-video webm";
|
||||
ytm3u = "yt-dlp -gS proto:m3u8";
|
||||
opusdl = "ytdl --recode-video opus";
|
||||
ytopus = "opusdl --format 251";
|
||||
spotdl = "spotdl --m3u --format opus";
|
||||
|
||||
# Flakes
|
||||
buildiso = "${pkgs.nixos-generators}/bin/nixos-generate -f install-iso -c /home/jimbo/Downloads/NixISO/configuration.nix";
|
||||
};
|
||||
initExtra = ''
|
||||
${pkgs.any-nix-shell}/bin/any-nix-shell zsh --info-right | source /dev/stdin; pfetch
|
||||
setopt HIST_IGNORE_SPACE
|
||||
setopt RM_STAR_WAIT
|
||||
'';
|
||||
};
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue