272 lines
7.3 KiB
Nix
272 lines
7.3 KiB
Nix
{
|
|
pkgs,
|
|
config,
|
|
...
|
|
}: {
|
|
# You can import other home-manager modules here
|
|
imports = [
|
|
# If you want to use modules your own flake exports (from modules/home-manager):
|
|
# outputs.homeManagerModules.example
|
|
|
|
# Or modules exported from other flakes (such as nix-colors):
|
|
# inputs.nix-colors.homeManagerModules.default
|
|
|
|
# You can also split up your configuration and import pieces of it here:
|
|
# ./nvim.nix
|
|
./package-configs/plasma-desktop.nix
|
|
./package-configs/firefox.nix
|
|
./package-configs/konsole
|
|
./package-configs/foot
|
|
./package-configs/freetube
|
|
./package-configs/vesktop
|
|
];
|
|
nixpkgs = {
|
|
# You can add overlays here
|
|
overlays = [
|
|
# You can also add 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 ];
|
|
# });
|
|
# })
|
|
# (final: prev: {
|
|
# catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: {
|
|
# accent = "mauve";
|
|
# boldKeywords = true;
|
|
# italicComments = true;
|
|
# italicKeywords = true;
|
|
# extraBordersEnabled = false;
|
|
# workbenchMode = "default";
|
|
# bracketMode = "rainbow";
|
|
# colorOverrides = {};
|
|
# customUIColors = {};
|
|
# });
|
|
# })
|
|
# (final: prev: {
|
|
# catppuccin-vsc = final.catppuccin-vsc.overrideAttrs (oldAttrs: {
|
|
# accent = "mauve";
|
|
# boldKeywords = true;
|
|
# italicComments = true;
|
|
# italicKeywords = true;
|
|
# extraBordersEnabled = false;
|
|
# workbenchMode = "default";
|
|
# bracketMode = "rainbow";
|
|
# colorOverrides = {};
|
|
# customUIColors = {};
|
|
# });
|
|
# })
|
|
];
|
|
config = {
|
|
permittedInsecurePackages = ["cinny-4.2.3" "cinny-unwrapped-4.2.3" "cinny-4.2.2" "cinny-unwrapped-4.2.2"];
|
|
# Configure your nixpkgs instance
|
|
|
|
# Disable if you don't want unfree packages
|
|
allowUnfree = true;
|
|
};
|
|
};
|
|
systemd.user = {
|
|
# services."nextcloud-autosync@" = {
|
|
# Unit = {
|
|
# Description = "Auto sync Nextcloud";
|
|
# After = "network-online.target";
|
|
# PartOf = ["nextcloud-autosyncs.target"];
|
|
# };
|
|
# Service = {
|
|
# Type = "simple";
|
|
# ExecStart = "${pkgs.nextcloud-client}/bin/nextcloudcmd -h -n --path /%i /home/lillian/%i https://nextcloud.gladtherescake.eu";
|
|
# TimeoutStopSec = "180";
|
|
# KillMode = "process";
|
|
# KillSignal = "SIGINT";
|
|
# };
|
|
# Install.WantedBy = ["multi-user.target"];
|
|
# };
|
|
# targets.nextcloud-autosyncs = {
|
|
# Unit = {
|
|
# Description = "workers";
|
|
# Requires = ["nextcloud-autosync@Music" "nextcloud-autosync@Pictures" "nextcloud-autosync@Scripts" "nextcloud-autosync@Videos" "nextcloud-autosync@Documents"];
|
|
# PartOf = "nextcloud-autosyncs.target";
|
|
# };
|
|
# Install.WantedBy = ["multi-user.target"];
|
|
# };
|
|
# timers.nextcloud-autosyncs = {
|
|
# Unit.Description = "Automatic sync files with Nextcloud when booted up after 5 minutes then rerun every 60 minutes";
|
|
# Timer.OnBootSec = "5min";
|
|
# Timer.OnUnitActiveSec = "60min";
|
|
# Install.WantedBy = ["multi-user.target" "timers.target"];
|
|
# };
|
|
|
|
# Nicely reload system units when changing configs
|
|
startServices = "sd-switch";
|
|
};
|
|
|
|
home = {
|
|
username = "lillian";
|
|
homeDirectory = "/home/lillian";
|
|
|
|
file = {
|
|
Music = {
|
|
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Music";
|
|
target = "Music";
|
|
};
|
|
Pictures = {
|
|
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Pictures";
|
|
target = "Pictures";
|
|
};
|
|
Screenshots = {
|
|
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Pictures/Screenshots";
|
|
target = "Screenshots";
|
|
};
|
|
Scripts = {
|
|
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Scripts";
|
|
target = "Scripts";
|
|
};
|
|
Videos = {
|
|
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Videos";
|
|
target = "Videos";
|
|
};
|
|
Documents = {
|
|
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/Nextcloud/Documents";
|
|
target = "Documents";
|
|
};
|
|
floorp = {
|
|
source = config.lib.file.mkOutOfStoreSymlink "/home/lillian/.mozilla/firefox";
|
|
target = ".floorp";
|
|
};
|
|
};
|
|
|
|
# Add stuff for your user as you see fit:
|
|
# programs.neovim.enable = true;
|
|
# home.packages = with pkgs; [ steam ];
|
|
|
|
packages = with pkgs; [
|
|
# Coding:
|
|
direnv
|
|
git
|
|
git-credential-manager
|
|
git-credential-manager
|
|
ruff
|
|
kate
|
|
|
|
# Chat applications:
|
|
signal-desktop
|
|
vesktop
|
|
# cinny-desktop
|
|
|
|
# Gaming:
|
|
prismlauncher
|
|
steam
|
|
gamescope
|
|
|
|
# Multimedia:
|
|
freetube
|
|
vlc
|
|
fcast-receiver
|
|
fcast-client
|
|
|
|
# Office applications:
|
|
onlyoffice-bin
|
|
gimp
|
|
thunderbird
|
|
|
|
# System tools:
|
|
rage
|
|
flameshot
|
|
fzf
|
|
nextcloud-client
|
|
nitrokey-app
|
|
protonvpn-gui
|
|
virtualbox
|
|
#watchmate
|
|
qbittorrent
|
|
|
|
# Theming:
|
|
catppuccin-cursors
|
|
(catppuccin-kde.override {
|
|
flavour = ["macchiato"];
|
|
accents = ["mauve"];
|
|
})
|
|
catppuccin-sddm-corners
|
|
|
|
# Theming:
|
|
catppuccin-cursors
|
|
(catppuccin-kde.override {
|
|
flavour = ["macchiato"];
|
|
accents = ["mauve"];
|
|
})
|
|
catppuccin-sddm-corners
|
|
|
|
# Web browsing:
|
|
firefoxpwa
|
|
firefoxpwa
|
|
ungoogled-chromium
|
|
];
|
|
};
|
|
programs = {
|
|
# vscode = {
|
|
# enable = true;
|
|
# package = pkgs.vscodium;
|
|
# extensions = with pkgs.vscode-extensions; [
|
|
# catppuccin.catppuccin-vsc
|
|
# catppuccin.catppuccin-vsc-icons
|
|
# charliermarsh.ruff
|
|
# eamodio.gitlens
|
|
# github.vscode-pull-request-github
|
|
# jnoortheen.nix-ide
|
|
# kamadorueda.alejandra
|
|
# mkhl.direnv
|
|
# ms-toolsai.jupyter
|
|
# ms-pyright.pyright
|
|
# oderwat.indent-rainbow
|
|
# rust-lang.rust-analyzer
|
|
# yzhang.markdown-all-in-one
|
|
# ];
|
|
# };
|
|
|
|
obs-studio.enable = true;
|
|
obs-studio.plugins = with pkgs.obs-studio-plugins; [
|
|
wlrobs
|
|
obs-backgroundremoval
|
|
obs-pipewire-audio-capture
|
|
];
|
|
|
|
# Enable home-manager and git
|
|
home-manager.enable = true;
|
|
git = {
|
|
enable = true;
|
|
userEmail = "git@lillianviolet.dev";
|
|
userName = "Lillian-Violet";
|
|
extraConfig = {
|
|
init = {
|
|
defaultBranch = "main";
|
|
};
|
|
};
|
|
ignores = [
|
|
"*.direnv"
|
|
"*.vscode"
|
|
".envrc"
|
|
"venv"
|
|
"venv"
|
|
];
|
|
};
|
|
|
|
gpg.enable = true;
|
|
gpg.settings = {
|
|
default-key = "0d43 5407 034c 2ad9 2d42 799d 280e 061d ff60 0f0d";
|
|
default-recipient-self = true;
|
|
auto-key-locate = "local,wkd,keyserver";
|
|
keyserver = "hkps://keys.openpgp.org";
|
|
auto-key-retrieve = true;
|
|
auto-key-import = true;
|
|
keyserver-options = "honor-keyserver-url";
|
|
no-autostart = true;
|
|
};
|
|
};
|
|
services = {
|
|
kdeconnect.package = pkgs.kdePackages.kdeconnect-kde;
|
|
kdeconnect.enable = true;
|
|
};
|
|
}
|