Add more packages from prev install
This commit is contained in:
@ -17,6 +17,7 @@
|
||||
|
||||
# Other Flakes
|
||||
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||
nur.url = "github:nix-community/NUR";
|
||||
};
|
||||
|
||||
# Outputs is a function that takes the inputs as arguments.
|
||||
@ -32,6 +33,12 @@
|
||||
# The rec expression turns a basic set into a set where self-referencing is possible.
|
||||
# It is a shorthand for recursive and allows to use the values defined in this set from its own scope.
|
||||
rec {
|
||||
# Add overlays from other flakes so we can use them from pkgs.
|
||||
overlays = {
|
||||
nur = nur.overlay;
|
||||
emacs = emacs-overlay.overlay;
|
||||
};
|
||||
|
||||
# System configurations
|
||||
# Accessible via 'nixos-rebuild'
|
||||
nixosConfigurations = {
|
||||
|
@ -14,6 +14,10 @@
|
||||
# https://github.com/nix-community/home-manager/issues/2942
|
||||
nixpkgs.config.allowUnfreePredicate = (pkg: true);
|
||||
|
||||
# Chinese Input
|
||||
i18n.inputMethod.enabled = "fcitx5";
|
||||
i18n.inputMethod.fcitx5.addons = with pkgs; [ fcitx5-gtk libsForQt5.fcitx5-qt fcitx5-chinese-addons fctix5-configtool ]
|
||||
|
||||
# Packages with extra options managed by HomeManager natively
|
||||
programs = {
|
||||
home-manager.enable = true;
|
||||
@ -32,6 +36,8 @@
|
||||
|
||||
exa.enable = true;
|
||||
|
||||
feh.enable = true;
|
||||
|
||||
# TODO: Copy config from Arch dots
|
||||
fish = {
|
||||
enable = true;
|
||||
@ -80,6 +86,11 @@
|
||||
};
|
||||
|
||||
# TODO: TexLive
|
||||
|
||||
zoxide = {
|
||||
enable = true;
|
||||
enableFishIntegration = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Add stuff for your user as you see fit:
|
||||
@ -92,6 +103,9 @@
|
||||
poppler_utils
|
||||
ffmpeg
|
||||
imagemagick
|
||||
htop
|
||||
httpie
|
||||
rclone
|
||||
|
||||
# Ranger
|
||||
# TODO: Make module out of this
|
||||
@ -109,6 +123,7 @@
|
||||
|
||||
# Doom Emacs
|
||||
# TODO: Make module out of this
|
||||
emacs.emacsPgtkNativeComp
|
||||
ripgrep
|
||||
fd
|
||||
gcc
|
||||
@ -119,6 +134,7 @@
|
||||
python310Packages.pygments
|
||||
inkscape
|
||||
graphviz
|
||||
gnuplot
|
||||
pandoc
|
||||
nixfmt
|
||||
shellcheck
|
||||
@ -127,15 +143,23 @@
|
||||
xdotool
|
||||
|
||||
# Web
|
||||
signal-desktop
|
||||
noisetorch
|
||||
discord
|
||||
yt-dlp
|
||||
spotify
|
||||
thunderbird
|
||||
protonmail-bridge
|
||||
protonvpn-cli
|
||||
|
||||
# Tools
|
||||
# calibre
|
||||
virt-manager
|
||||
gource
|
||||
keepassxc
|
||||
ark
|
||||
anki
|
||||
libreoffice-fresh
|
||||
libsForQt5.dolphin-plugins
|
||||
libsForQt5.kdegraphics-thumbnailers
|
||||
|
||||
@ -146,15 +170,56 @@
|
||||
# krita
|
||||
# blender
|
||||
# godot
|
||||
|
||||
# Icons
|
||||
papirus-icon-theme
|
||||
|
||||
# Fonts
|
||||
# TODO: Make a module
|
||||
victor-mono
|
||||
source-code-pro
|
||||
source-sans-pro
|
||||
source-serif-pro
|
||||
jetbrains-mono
|
||||
etBook
|
||||
overpass
|
||||
# Chinese Fonts
|
||||
source-han-mono
|
||||
source-han-sans
|
||||
source-han-serif
|
||||
wqy_zenhei
|
||||
wqy_microhei
|
||||
|
||||
# Audio
|
||||
# TODO: Make a module
|
||||
# vcv-rack
|
||||
# bitwig-studio
|
||||
# audacity
|
||||
# carla
|
||||
# TODO: Make wine-tgk derivation
|
||||
# yabridge
|
||||
# yabridgectl # TODO: Do I need both?
|
||||
|
||||
# Use NixCommunity binary cache
|
||||
cachix
|
||||
|
||||
# Gaming
|
||||
gamemode
|
||||
nur.gamescope
|
||||
steam
|
||||
polymc
|
||||
lutris
|
||||
];
|
||||
|
||||
services = {
|
||||
lorri.enable = true;
|
||||
|
||||
nextcloud-client = {
|
||||
enable = true;
|
||||
startInBackground = true;
|
||||
};
|
||||
};
|
||||
|
||||
# Nicely reload system units when changing configs
|
||||
systemd.user.startServices = "sd-switch";
|
||||
}
|
||||
|
@ -25,6 +25,12 @@
|
||||
'';
|
||||
};
|
||||
|
||||
# Auto garbage-collect and optimize store
|
||||
nix.gc.automatic = true;
|
||||
nix.gc.options = "--delete-older-than 5d";
|
||||
nix.autoOptimiseStore = true;
|
||||
nix.optimise.automatic = true;
|
||||
|
||||
# TODO: Understand this
|
||||
# This will add your inputs as registries, making operations with them (such
|
||||
# as nix shell nixpkgs#name) consistent with your flake inputs.
|
||||
@ -131,49 +137,31 @@
|
||||
isNormalUser = true;
|
||||
description = "Christoph";
|
||||
extraGroups = [ "networkmanager" "wheel" "audio" "realtime" "docker" "adbusers" "scanner" "lp" ];
|
||||
shell = pkgs.fish;
|
||||
# Do this with HomeManager
|
||||
packages = with pkgs; [
|
||||
# firefox
|
||||
# kate
|
||||
# thunderbird
|
||||
];
|
||||
shell = pkgs.fish; # TODO: Is this needed if programs.fish.enable = true?
|
||||
# We do this with HomeManager
|
||||
packages = with pkgs; [ ];
|
||||
};
|
||||
|
||||
environment.shells = with pkgs; [ fish ];
|
||||
|
||||
# Allow unfree packages
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
wget
|
||||
git
|
||||
dosfstools
|
||||
ntfs3g
|
||||
e2fsprogs
|
||||
];
|
||||
|
||||
# Auto garbage-collect and optimize store
|
||||
nix.gc.automatic = true;
|
||||
nix.gc.options = "--delete-older-than 5d";
|
||||
nix.autoOptimiseStore = true;
|
||||
nix.optimise.automatic = true;
|
||||
|
||||
# Use all redistributable firmware (i.e. nonfree)
|
||||
hardware.enableRedistributableFirmware = true;
|
||||
|
||||
# Enable automatic upgrades.
|
||||
system.autoUpgrade.enable = false;
|
||||
system.autoUpgrade.allowReboot = false;
|
||||
# We want these packages to be available even when no user profile is active
|
||||
# List packages installed in system profile. To search, run:
|
||||
# $ nix search wget
|
||||
environment.systemPackages = with pkgs; [
|
||||
wget
|
||||
];
|
||||
|
||||
# Docker
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
};
|
||||
# It is preferred to use the module (if it exists) over environment.systemPackages, as some extra configs are applied.
|
||||
programs.adb.enable = true;
|
||||
programs.fish.enable = true;
|
||||
programs.git.enable = true;
|
||||
programs.neovim.enable = true;
|
||||
programs.starship.enable = true;
|
||||
programs.thefuck.enable = true; # Not available in HomeManager
|
||||
|
||||
# Some programs need SUID wrappers, can be configured further or are
|
||||
# started in user sessions.
|
||||
@ -192,13 +180,22 @@
|
||||
SystemMaxUse=50M
|
||||
'';
|
||||
|
||||
# TODO: What to transfer to HomeManager?
|
||||
services.lorri.enable = true; # Cache direnv
|
||||
services.locate.enable = true; # Periodically update index
|
||||
services.emacs.enable = false; # timeout?
|
||||
services.fstrim.enable = true;
|
||||
services.fwupd.enable = true;
|
||||
services.locate.enable = true; # Periodically update index
|
||||
services.ntp.enable = true;
|
||||
services.xserver.wacom.enable = true;
|
||||
|
||||
# Docker
|
||||
virtualisation.docker = {
|
||||
enable = true;
|
||||
autoPrune.enable = true;
|
||||
};
|
||||
|
||||
virtualisation.libvirtd = {
|
||||
enable = true;
|
||||
};
|
||||
|
||||
# TODO: Other ports (tcp/udp/ssh...)?
|
||||
# Open ports in the firewall.
|
||||
networking.firewall.allowedTCPPorts = [ ];
|
||||
|
Reference in New Issue
Block a user