1

Add more packages from prev install

This commit is contained in:
2022-06-29 20:30:02 +02:00
parent 6a8d524cf2
commit fe3bb5d467
3 changed files with 107 additions and 38 deletions

View File

@ -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 = {

View File

@ -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";
}

View File

@ -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 = [ ];