mirror of
https://git.gay/sneexy/nixos.git
synced 2026-01-11 05:03:15 -08:00
refactor: yet another redo of the entire config to try and minimize issues
This commit is contained in:
parent
4880131d1f
commit
ee6c740f68
11 changed files with 138 additions and 171 deletions
20
users/ruben/default.nix
Normal file
20
users/ruben/default.nix
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# default config loads everything else
|
||||
{ config, pkgs, lib, ... }:
|
||||
|
||||
{
|
||||
home-manager.users.ruben = ./home.nix;
|
||||
|
||||
# myself :D
|
||||
users.users."ruben" = {
|
||||
isNormalUser = true;
|
||||
description = "Ruben";
|
||||
shell = pkgs.zsh;
|
||||
extraGroups = [ "wheel" "plugdev" "dialout" "libvirtd" ] ++ (lib.optional config.networking.networkmanager.enable "networkmanager");
|
||||
initialHashedPassword = "changeme";
|
||||
|
||||
openssh.authorizedKeys.keys = [ ''ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIO+V3b6oKMTLEBq8AKjdNF5ZwJGXuWTrS2u9QaEypBYP sneexy@disroot.org'' ];
|
||||
};
|
||||
|
||||
programs.zsh.enable = true;
|
||||
environment.shells = with pkgs; [ zsh ];
|
||||
}
|
||||
225
users/ruben/home.nix
Normal file
225
users/ruben/home.nix
Normal file
|
|
@ -0,0 +1,225 @@
|
|||
# This is your home-manager configuration file
|
||||
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
|
||||
{
|
||||
inputs,
|
||||
lib,
|
||||
config,
|
||||
pkgs,
|
||||
...
|
||||
}: {
|
||||
# You can import other home-manager modules here
|
||||
imports = [
|
||||
# import the flatpaks home-manager nix
|
||||
flatpaks.homeManagerModules.nix-flatpak
|
||||
|
||||
# If you want to use home-manager modules from other flakes (such as nix-colors):
|
||||
# inputs.nix-colors.homeManagerModule
|
||||
|
||||
# You can also split up your configuration and import pieces of it here:
|
||||
# ./nvim.nix
|
||||
];
|
||||
|
||||
nixpkgs = {
|
||||
# You can add overlays here
|
||||
overlays = [
|
||||
# If you want to use overlays exported from other flakes:
|
||||
# neovim-nightly-overlay.overlays.default
|
||||
|
||||
# Or define it inline, for example:
|
||||
# (final: prev: {
|
||||
# hi = final.hello.overrideAttrs (oldAttrs: {
|
||||
# patches = [ ./change-hello-to-hi.patch ];
|
||||
# });
|
||||
# })
|
||||
];
|
||||
# Configure your nixpkgs instance
|
||||
config = {
|
||||
# Disable if you don't want unfree packages
|
||||
allowUnfree = true;
|
||||
# Workaround for https://github.com/nix-community/home-manager/issues/2942
|
||||
allowUnfreePredicate = _: true;
|
||||
};
|
||||
};
|
||||
|
||||
home = {
|
||||
username = "ruben";
|
||||
homeDirectory = "/home/ruben";
|
||||
};
|
||||
|
||||
# Add stuff for your user as you see fit:
|
||||
programs.neovim.enable = true;
|
||||
home.packages = with pkgs; [
|
||||
btop
|
||||
bat
|
||||
duf
|
||||
fastfetch
|
||||
fd
|
||||
delta
|
||||
lsd
|
||||
ripgrep
|
||||
sd
|
||||
starship
|
||||
zoxide
|
||||
|
||||
usbutils
|
||||
jq
|
||||
ffmpeg_6-full
|
||||
imagemagick
|
||||
yt-dlp
|
||||
|
||||
firefox
|
||||
thunderbird
|
||||
birdtray
|
||||
libreoffice
|
||||
inkscape gimp
|
||||
kdenlive krita
|
||||
nicotine-plus
|
||||
okteta
|
||||
obsidian
|
||||
obs-studio
|
||||
gpu-screen-recorder-gtk
|
||||
|
||||
gajim
|
||||
cinny-desktop
|
||||
revolt-desktop
|
||||
vesktop
|
||||
signal-desktop
|
||||
|
||||
cartridges
|
||||
prismlauncher
|
||||
retroarch-with-cores
|
||||
pcsx2
|
||||
dolphin-emu
|
||||
dosbox-staging
|
||||
bottles
|
||||
protonup-qt
|
||||
protontricks
|
||||
|
||||
mpv
|
||||
qbittorrent
|
||||
watchmate
|
||||
nextcloud-client
|
||||
ventoy
|
||||
];
|
||||
|
||||
# fuzzy command finder, required by a decent amount of things
|
||||
programs.fzf = {
|
||||
enable = true;
|
||||
enableZshIntegration = true;
|
||||
catppuccin.enable = true;
|
||||
};
|
||||
|
||||
# my preferred shell customized to my needs
|
||||
# TODO: theres only oh-my-zsh support out of the box, figure out
|
||||
# how to customize sheldon and starship
|
||||
programs.zsh = {
|
||||
enable = true;
|
||||
history.size = 50000;
|
||||
syntaxHighlighting.enable = true;
|
||||
};
|
||||
|
||||
programs.git = {
|
||||
enable = true;
|
||||
|
||||
userName = "Sneexy";
|
||||
userEmail = "sneexy@disroot.org";
|
||||
|
||||
signing.signByDefault = true;
|
||||
#signing.key = ""; # TODO: fill this out
|
||||
|
||||
extraConfig = {
|
||||
commit.verbose = true;
|
||||
init.defaultBranch = "main";
|
||||
};
|
||||
};
|
||||
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
vscodevim.vim
|
||||
catppuccin.catppuccin-vsc
|
||||
catppuccin.catppuccin-vsc-icons
|
||||
arrterian.nix-env-selector
|
||||
donjayamanne.githistory
|
||||
];
|
||||
|
||||
userSettings = {
|
||||
"editor.fontFamily" = "\'JetBrainsMono Nerd Font\', \'Terminus (TTF)\', \'Droid Sans Mono\', \'monospace\', monospace";
|
||||
"editor.fontSize" = 16;
|
||||
"workbench.colorTheme" = "Catppuccin Mocha";
|
||||
#"workbench.iconTheme" = "material-icon-theme";
|
||||
"files.eol" = "\n";
|
||||
"editor.cursorBlinking" = "phase";
|
||||
};
|
||||
};
|
||||
|
||||
# this is a got damn NEO VIMME HOUSE !!
|
||||
home.sessionVariables = {
|
||||
EDITOR = "nvim";
|
||||
};
|
||||
|
||||
# flatpaks
|
||||
# TODO: unsure if i should even bother using flatpaks in a configuration/distro like this...
|
||||
# maybe i can fully embrace flatpaks once i've figured out how to remove default packages
|
||||
#services.flatpak.remotes = lib.mkOptionDefault [{
|
||||
# name = "flathub";
|
||||
# location = "https://dl.flathub.org/repo/#flathub.flatpakrepo";
|
||||
#}];
|
||||
#
|
||||
#services.flatpak.update.auto.enable = true;
|
||||
#services.flatpak.uninstallUnmanaged = true;
|
||||
# flatpak user packages
|
||||
#services.flatpak.packages = [
|
||||
#{ appId = "com.brave.Browser"; origin = "flathub"; }
|
||||
#"com.obsproject.Studio"
|
||||
#"im.riot.Riot"
|
||||
#];
|
||||
|
||||
# music!!
|
||||
services.mpd = {
|
||||
enable = true;
|
||||
extraConfig = ''
|
||||
''audio_output {
|
||||
type "pipewire"
|
||||
name "PipeWire"
|
||||
}''
|
||||
'';
|
||||
};
|
||||
|
||||
xdg.userDirs.enable = true;
|
||||
|
||||
# catppuccin flavour
|
||||
catppuccin.flavour = "mocha";
|
||||
|
||||
# catppuccin's gtk theme
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
name = "Catppuccin-Mocha-Compact-Green-Dark";
|
||||
package = pkgs.catppuccin-gtk.override {
|
||||
accents = [ "green" ];
|
||||
size = "compact";
|
||||
#tweaks = [ "rimless" "black" ];
|
||||
variant = "mocha";
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# required for catppuccin's gtk4 theme
|
||||
xdg.configFile = {
|
||||
"gtk-4.0/assets".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets";
|
||||
"gtk-4.0/gtk.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css";
|
||||
"gtk-4.0/gtk-dark.css".source = "${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css";
|
||||
};
|
||||
|
||||
# Nicely reload system units when changing configs
|
||||
systemd.user.startServices = "sd-switch";
|
||||
|
||||
# Enable home-manager
|
||||
programs.home-manager.enable = true;
|
||||
|
||||
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
|
||||
home.stateVersion = "23.05";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue