Add more packages from prev install
This commit is contained in:
@ -17,6 +17,7 @@
|
|||||||
|
|
||||||
# Other Flakes
|
# Other Flakes
|
||||||
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
emacs-overlay.url = "github:nix-community/emacs-overlay";
|
||||||
|
nur.url = "github:nix-community/NUR";
|
||||||
};
|
};
|
||||||
|
|
||||||
# Outputs is a function that takes the inputs as arguments.
|
# 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.
|
# 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.
|
# It is a shorthand for recursive and allows to use the values defined in this set from its own scope.
|
||||||
rec {
|
rec {
|
||||||
|
# Add overlays from other flakes so we can use them from pkgs.
|
||||||
|
overlays = {
|
||||||
|
nur = nur.overlay;
|
||||||
|
emacs = emacs-overlay.overlay;
|
||||||
|
};
|
||||||
|
|
||||||
# System configurations
|
# System configurations
|
||||||
# Accessible via 'nixos-rebuild'
|
# Accessible via 'nixos-rebuild'
|
||||||
nixosConfigurations = {
|
nixosConfigurations = {
|
||||||
|
@ -14,6 +14,10 @@
|
|||||||
# https://github.com/nix-community/home-manager/issues/2942
|
# https://github.com/nix-community/home-manager/issues/2942
|
||||||
nixpkgs.config.allowUnfreePredicate = (pkg: true);
|
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
|
# Packages with extra options managed by HomeManager natively
|
||||||
programs = {
|
programs = {
|
||||||
home-manager.enable = true;
|
home-manager.enable = true;
|
||||||
@ -32,6 +36,8 @@
|
|||||||
|
|
||||||
exa.enable = true;
|
exa.enable = true;
|
||||||
|
|
||||||
|
feh.enable = true;
|
||||||
|
|
||||||
# TODO: Copy config from Arch dots
|
# TODO: Copy config from Arch dots
|
||||||
fish = {
|
fish = {
|
||||||
enable = true;
|
enable = true;
|
||||||
@ -80,6 +86,11 @@
|
|||||||
};
|
};
|
||||||
|
|
||||||
# TODO: TexLive
|
# TODO: TexLive
|
||||||
|
|
||||||
|
zoxide = {
|
||||||
|
enable = true;
|
||||||
|
enableFishIntegration = true;
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
# Add stuff for your user as you see fit:
|
# Add stuff for your user as you see fit:
|
||||||
@ -92,6 +103,9 @@
|
|||||||
poppler_utils
|
poppler_utils
|
||||||
ffmpeg
|
ffmpeg
|
||||||
imagemagick
|
imagemagick
|
||||||
|
htop
|
||||||
|
httpie
|
||||||
|
rclone
|
||||||
|
|
||||||
# Ranger
|
# Ranger
|
||||||
# TODO: Make module out of this
|
# TODO: Make module out of this
|
||||||
@ -109,6 +123,7 @@
|
|||||||
|
|
||||||
# Doom Emacs
|
# Doom Emacs
|
||||||
# TODO: Make module out of this
|
# TODO: Make module out of this
|
||||||
|
emacs.emacsPgtkNativeComp
|
||||||
ripgrep
|
ripgrep
|
||||||
fd
|
fd
|
||||||
gcc
|
gcc
|
||||||
@ -119,6 +134,7 @@
|
|||||||
python310Packages.pygments
|
python310Packages.pygments
|
||||||
inkscape
|
inkscape
|
||||||
graphviz
|
graphviz
|
||||||
|
gnuplot
|
||||||
pandoc
|
pandoc
|
||||||
nixfmt
|
nixfmt
|
||||||
shellcheck
|
shellcheck
|
||||||
@ -127,15 +143,23 @@
|
|||||||
xdotool
|
xdotool
|
||||||
|
|
||||||
# Web
|
# Web
|
||||||
|
signal-desktop
|
||||||
noisetorch
|
noisetorch
|
||||||
discord
|
discord
|
||||||
yt-dlp
|
yt-dlp
|
||||||
spotify
|
spotify
|
||||||
|
thunderbird
|
||||||
|
protonmail-bridge
|
||||||
|
protonvpn-cli
|
||||||
|
|
||||||
# Tools
|
# Tools
|
||||||
|
# calibre
|
||||||
|
virt-manager
|
||||||
|
gource
|
||||||
keepassxc
|
keepassxc
|
||||||
ark
|
ark
|
||||||
anki
|
anki
|
||||||
|
libreoffice-fresh
|
||||||
libsForQt5.dolphin-plugins
|
libsForQt5.dolphin-plugins
|
||||||
libsForQt5.kdegraphics-thumbnailers
|
libsForQt5.kdegraphics-thumbnailers
|
||||||
|
|
||||||
@ -146,15 +170,56 @@
|
|||||||
# krita
|
# krita
|
||||||
# blender
|
# blender
|
||||||
# godot
|
# godot
|
||||||
|
|
||||||
|
# Icons
|
||||||
papirus-icon-theme
|
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
|
# Use NixCommunity binary cache
|
||||||
cachix
|
cachix
|
||||||
|
|
||||||
# Gaming
|
# Gaming
|
||||||
|
gamemode
|
||||||
|
nur.gamescope
|
||||||
steam
|
steam
|
||||||
|
polymc
|
||||||
|
lutris
|
||||||
];
|
];
|
||||||
|
|
||||||
|
services = {
|
||||||
|
lorri.enable = true;
|
||||||
|
|
||||||
|
nextcloud-client = {
|
||||||
|
enable = true;
|
||||||
|
startInBackground = true;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
# Nicely reload system units when changing configs
|
# Nicely reload system units when changing configs
|
||||||
systemd.user.startServices = "sd-switch";
|
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
|
# TODO: Understand this
|
||||||
# This will add your inputs as registries, making operations with them (such
|
# This will add your inputs as registries, making operations with them (such
|
||||||
# as nix shell nixpkgs#name) consistent with your flake inputs.
|
# as nix shell nixpkgs#name) consistent with your flake inputs.
|
||||||
@ -131,49 +137,31 @@
|
|||||||
isNormalUser = true;
|
isNormalUser = true;
|
||||||
description = "Christoph";
|
description = "Christoph";
|
||||||
extraGroups = [ "networkmanager" "wheel" "audio" "realtime" "docker" "adbusers" "scanner" "lp" ];
|
extraGroups = [ "networkmanager" "wheel" "audio" "realtime" "docker" "adbusers" "scanner" "lp" ];
|
||||||
shell = pkgs.fish;
|
shell = pkgs.fish; # TODO: Is this needed if programs.fish.enable = true?
|
||||||
# Do this with HomeManager
|
# We do this with HomeManager
|
||||||
packages = with pkgs; [
|
packages = with pkgs; [ ];
|
||||||
# firefox
|
|
||||||
# kate
|
|
||||||
# thunderbird
|
|
||||||
];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
environment.shells = with pkgs; [ fish ];
|
|
||||||
|
|
||||||
# Allow unfree packages
|
# Allow unfree packages
|
||||||
nixpkgs.config.allowUnfree = true;
|
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)
|
# Use all redistributable firmware (i.e. nonfree)
|
||||||
hardware.enableRedistributableFirmware = true;
|
hardware.enableRedistributableFirmware = true;
|
||||||
|
|
||||||
# Enable automatic upgrades.
|
# We want these packages to be available even when no user profile is active
|
||||||
system.autoUpgrade.enable = false;
|
# List packages installed in system profile. To search, run:
|
||||||
system.autoUpgrade.allowReboot = false;
|
# $ nix search wget
|
||||||
|
environment.systemPackages = with pkgs; [
|
||||||
|
wget
|
||||||
|
];
|
||||||
|
|
||||||
# Docker
|
# It is preferred to use the module (if it exists) over environment.systemPackages, as some extra configs are applied.
|
||||||
virtualisation.docker = {
|
programs.adb.enable = true;
|
||||||
enable = true;
|
programs.fish.enable = true;
|
||||||
autoPrune.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
|
# Some programs need SUID wrappers, can be configured further or are
|
||||||
# started in user sessions.
|
# started in user sessions.
|
||||||
@ -192,13 +180,22 @@
|
|||||||
SystemMaxUse=50M
|
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.fstrim.enable = true;
|
||||||
|
services.fwupd.enable = true;
|
||||||
|
services.locate.enable = true; # Periodically update index
|
||||||
|
services.ntp.enable = true;
|
||||||
services.xserver.wacom.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...)?
|
# TODO: Other ports (tcp/udp/ssh...)?
|
||||||
# Open ports in the firewall.
|
# Open ports in the firewall.
|
||||||
networking.firewall.allowedTCPPorts = [ ];
|
networking.firewall.allowedTCPPorts = [ ];
|
||||||
|
Reference in New Issue
Block a user