Reworked pkgsets implementation again, still not really what I want yet.
This commit is contained in:
parent
cc21ece351
commit
c33b4517a7
20 changed files with 364 additions and 290 deletions
|
@ -1,4 +1,4 @@
|
||||||
{ lib, ... }:
|
{ pkgs, lib, ... }:
|
||||||
|
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
|
@ -7,7 +7,6 @@ with lib;
|
||||||
../../options/machine.nix
|
../../options/machine.nix
|
||||||
../../options/copySysConf.nix
|
../../options/copySysConf.nix
|
||||||
];
|
];
|
||||||
|
|
||||||
config.machine = {
|
config.machine = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
hostName = "Lilim";
|
hostName = "Lilim";
|
||||||
|
|
|
@ -1,16 +1,42 @@
|
||||||
{ lib, ... }:
|
{ config, lib, ... }:
|
||||||
|
|
||||||
|
with builtins;
|
||||||
with lib;
|
with lib;
|
||||||
|
|
||||||
{
|
let
|
||||||
|
cfg = config.machine;
|
||||||
|
metapkgs = (lists.forEach
|
||||||
|
(attrNames (filterAttrs (n: v: v == "regular" ) (readDir ../pkgs/pkgsets)))
|
||||||
|
(v: replaceStrings [ ".nix" ] [ "" ] v));
|
||||||
|
pkgOption = pname: {
|
||||||
|
name = pname;
|
||||||
|
value = rec {
|
||||||
|
pkgwrap = mkOption {
|
||||||
|
type = types.listOf types.package;
|
||||||
|
default = cfg.pkgsets."${pname}".pkgs;
|
||||||
|
description = ''
|
||||||
|
Package Wrapper for packages using a wrapper function (like python, emacs, haskell, ...)
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
pkgs = mkOption {
|
||||||
|
type = with types; listOf (nullOr attrs);
|
||||||
|
default = [];
|
||||||
|
description = ''
|
||||||
|
${pname} package list.
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
in {
|
||||||
options.machine = {
|
options.machine = {
|
||||||
pkgs = mkOption {
|
pkgs = mkOption {
|
||||||
type = types.listOf types.str;
|
type = (types.listOf (types.enum metapkgs));
|
||||||
default = [ "base" ];
|
default = [ "base" ];
|
||||||
description = ''
|
description = ''
|
||||||
The list of metapackages to be installed.
|
The list of metapackages to be installed.
|
||||||
'';
|
'';
|
||||||
};
|
};
|
||||||
|
pkgsets = listToAttrs (map pkgOption metapkgs);
|
||||||
services = mkOption {
|
services = mkOption {
|
||||||
type = types.listOf types.str;
|
type = types.listOf types.str;
|
||||||
default = [];
|
default = [];
|
||||||
|
|
|
@ -1,12 +1,16 @@
|
||||||
{ config, lib, pkgs, ... }:
|
{ config, lib, pkgs, ... }:
|
||||||
|
|
||||||
{
|
let
|
||||||
|
callPackage = pkgs.callPackage;
|
||||||
|
in {
|
||||||
nixpkgs.config = {
|
nixpkgs.config = {
|
||||||
allowUnfree = true;
|
allowUnfree = true;
|
||||||
mpv.vaapiSupport = (lib.elem "xserver" config.machine.services);
|
mpv.vaapiSupport = (lib.elem "xserver" config.machine.services);
|
||||||
|
|
||||||
packageOverrides = {
|
packageOverrides = {
|
||||||
pkgsets = import ./pkgsets.nix { inherit config lib pkgs; };
|
theme_flat-remix = callPackage ./flat-remix { };
|
||||||
|
theme_sddm_midnight = callPackage ./sddm_midnight { };
|
||||||
|
xdiskusage = callPackage ./xdiskusage { };
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
279
pkgs/pkgsets.nix
279
pkgs/pkgsets.nix
|
@ -1,279 +0,0 @@
|
||||||
{ config, lib, pkgs }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let
|
|
||||||
cfg = config.machine;
|
|
||||||
gitpkgs = import /nixpkgs {};
|
|
||||||
stablepkgs = import <nixos-stable> {};
|
|
||||||
|
|
||||||
callPackage = pkgs.callPackage;
|
|
||||||
theme_flat-remix = callPackage ./flat-remix { };
|
|
||||||
theme_sddm_midnight = callPackage ./sddm_midnight { };
|
|
||||||
xdiskusage = callPackage ./xdiskusage { };
|
|
||||||
in {
|
|
||||||
# Programms I'm likely to want on every machine and/or may execute as root
|
|
||||||
base = with pkgs; [
|
|
||||||
alsaUtils
|
|
||||||
finger_bsd
|
|
||||||
ccze
|
|
||||||
cksfv
|
|
||||||
cryptsetup
|
|
||||||
dhcpcd
|
|
||||||
dnsutils
|
|
||||||
gitFull git-lfs
|
|
||||||
gnupg
|
|
||||||
gptfdisk
|
|
||||||
haskellPackages.nix-derivation
|
|
||||||
home-manager
|
|
||||||
htop
|
|
||||||
hwinfo
|
|
||||||
indent
|
|
||||||
iptables
|
|
||||||
jp
|
|
||||||
lrzip
|
|
||||||
lsof
|
|
||||||
lshw
|
|
||||||
macchanger
|
|
||||||
mkpasswd
|
|
||||||
netcat
|
|
||||||
nix-diff
|
|
||||||
nix-index
|
|
||||||
nix-plugins
|
|
||||||
nix-prefetch-git
|
|
||||||
nix-serve
|
|
||||||
nix-update-source
|
|
||||||
nix-zsh-completions
|
|
||||||
nixbang
|
|
||||||
nixops
|
|
||||||
nmap
|
|
||||||
nox
|
|
||||||
ntfs3g
|
|
||||||
oh-my-zsh
|
|
||||||
openssl
|
|
||||||
parted
|
|
||||||
p7zip
|
|
||||||
pciutils
|
|
||||||
psmisc
|
|
||||||
rfkill
|
|
||||||
ripgrep
|
|
||||||
rsync
|
|
||||||
sl
|
|
||||||
sysvtools
|
|
||||||
telnet
|
|
||||||
traceroute
|
|
||||||
tree
|
|
||||||
unrar
|
|
||||||
unzipNLS
|
|
||||||
usbutils
|
|
||||||
vim
|
|
||||||
vulnix
|
|
||||||
wget
|
|
||||||
whois
|
|
||||||
wirelesstools
|
|
||||||
wpa_supplicant
|
|
||||||
zip unzipNLS
|
|
||||||
zlib
|
|
||||||
zsh
|
|
||||||
];
|
|
||||||
|
|
||||||
dict = with pkgs; [
|
|
||||||
translate-shell
|
|
||||||
( hunspellWithDicts (with pkgs.hunspellDicts; [ de-de en-us ] ))
|
|
||||||
( aspellWithDicts (d: with d; [ de en en-computers en-science ] ))
|
|
||||||
];
|
|
||||||
|
|
||||||
emacs = gitpkgs.emacsWithPackages (epkgs: with epkgs; [
|
|
||||||
/* Theming */
|
|
||||||
solarized-theme color-theme-sanityinc-tomorrow moe-theme powerline moody minions
|
|
||||||
/*General Stuff */
|
|
||||||
rainbow-delimiters # color parenthesis by indentation
|
|
||||||
color-identifiers-mode
|
|
||||||
/* Python */
|
|
||||||
company-jedi pylint elpy flycheck-mypy
|
|
||||||
/* Git support */
|
|
||||||
magit
|
|
||||||
emms # multimedia support
|
|
||||||
wsd-mode
|
|
||||||
plantuml-mode
|
|
||||||
/* Other Stuff, not yet sorted */
|
|
||||||
mu4e-alert
|
|
||||||
google-translate
|
|
||||||
tramp
|
|
||||||
transmission
|
|
||||||
org-plus-contrib orgit ox-gfm ox-rst
|
|
||||||
easy-jekyll markdown-mode impatient-mode simple-httpd htmlize
|
|
||||||
eclim
|
|
||||||
auto-complete
|
|
||||||
pkgs.aspell pkgs.aspellDicts.en pkgs.aspellDicts.de
|
|
||||||
use-package diminish bind-key
|
|
||||||
smartparens
|
|
||||||
evil-surround evil-indent-textobject evil-cleverparens avy undo-tree
|
|
||||||
cdlatex # for math expressions
|
|
||||||
helm
|
|
||||||
/* LaTeX */ auctex helm-bibtex cdlatex
|
|
||||||
markdown-mode
|
|
||||||
flycheck
|
|
||||||
pkgs.ledger
|
|
||||||
yaml-mode
|
|
||||||
company
|
|
||||||
# Irony is currently broken.
|
|
||||||
/* C/C++ */ irony company-irony company-irony-c-headers flycheck-irony clang-format pkgs.clang-tools
|
|
||||||
/* Haskell */ haskell-mode flycheck-haskell
|
|
||||||
/* Org */ org org-ref pdf-tools org-bullets org-caldav
|
|
||||||
/* Rust */ rust-mode flycheck-rust racer
|
|
||||||
/* mail */ messages-are-flowing
|
|
||||||
/* Nix */ nix-buffer nix-mode nixos-options company-nixos-options nix-sandbox
|
|
||||||
paganini-theme
|
|
||||||
json-navigator
|
|
||||||
spaceline # modeline beautification
|
|
||||||
winum eyebrowse # window management
|
|
||||||
auto-compile
|
|
||||||
/* Maxima */ pkgs.maxima
|
|
||||||
visual-fill-column
|
|
||||||
web-mode
|
|
||||||
melpaStablePackages.idris-mode helm-idris
|
|
||||||
/* Java */
|
|
||||||
# projectile yasnippet lsp-mode hydra company-lsp lsp-ui lsp-java dap-mode
|
|
||||||
cl-lib meghanada autodisass-java-bytecode google-c-style realgud
|
|
||||||
weechat
|
|
||||||
]);
|
|
||||||
|
|
||||||
extra = with pkgs; [
|
|
||||||
imagemagick
|
|
||||||
texlive.combined.scheme-full
|
|
||||||
transmission
|
|
||||||
];
|
|
||||||
|
|
||||||
mail_utils = with pkgs; [
|
|
||||||
fetchmail
|
|
||||||
isync
|
|
||||||
mailutils
|
|
||||||
gitpkgs.mu
|
|
||||||
pandoc
|
|
||||||
postfix
|
|
||||||
];
|
|
||||||
|
|
||||||
cpp = with pkgs; [
|
|
||||||
clang
|
|
||||||
cmake
|
|
||||||
gcc
|
|
||||||
global
|
|
||||||
irony-server
|
|
||||||
];
|
|
||||||
|
|
||||||
haskell = pkgs.haskellPackages.ghcWithPackages (pkgs: with pkgs; [
|
|
||||||
hindent
|
|
||||||
mtl
|
|
||||||
random
|
|
||||||
]);
|
|
||||||
|
|
||||||
haskell-tools = with pkgs; [ cabal-install hlint]; # ghcid
|
|
||||||
|
|
||||||
java = with pkgs; [
|
|
||||||
openjdk11
|
|
||||||
maven
|
|
||||||
(with gitpkgs.eclipses; eclipseWithPlugins {
|
|
||||||
eclipse = eclipse-platform;
|
|
||||||
jvmArgs = [ "-Xmx2048m" ];
|
|
||||||
plugins = with plugins; [
|
|
||||||
color-theme
|
|
||||||
# emacsplus
|
|
||||||
checkstyle
|
|
||||||
eclemma
|
|
||||||
];
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
python3 = gitpkgs.python3Full.withPackages(ps: with ps; [
|
|
||||||
GitPython
|
|
||||||
bpython
|
|
||||||
# cairosvg cairocffi
|
|
||||||
configparser
|
|
||||||
django
|
|
||||||
emoji
|
|
||||||
epc
|
|
||||||
flake8
|
|
||||||
genanki
|
|
||||||
mypy
|
|
||||||
numpy
|
|
||||||
opencv3
|
|
||||||
paho-mqtt
|
|
||||||
pep8
|
|
||||||
pillow
|
|
||||||
pip
|
|
||||||
plotly
|
|
||||||
pyflakes
|
|
||||||
pygame pygame_sdl2
|
|
||||||
pylama
|
|
||||||
pylint
|
|
||||||
pyopengl
|
|
||||||
pyproj
|
|
||||||
pytest
|
|
||||||
requests
|
|
||||||
schedule
|
|
||||||
scipy
|
|
||||||
selenium
|
|
||||||
telegram
|
|
||||||
tkinter
|
|
||||||
toolz
|
|
||||||
virtualenv
|
|
||||||
xdot
|
|
||||||
# flask
|
|
||||||
# flask-common
|
|
||||||
# flask-compress
|
|
||||||
# flask-cors
|
|
||||||
# flask-limiter
|
|
||||||
# flask-pymongo
|
|
||||||
# flask-restful
|
|
||||||
# flask-restplus
|
|
||||||
# flask_assets
|
|
||||||
# flask_elastic
|
|
||||||
# flask_login
|
|
||||||
# flask_mail
|
|
||||||
# flask_marshmallow
|
|
||||||
# flask_migrate
|
|
||||||
# flask_oauthlib
|
|
||||||
# flask_principal
|
|
||||||
# flask_script
|
|
||||||
# flask_sqlalchemy
|
|
||||||
# flask_testing
|
|
||||||
# flask_wtf
|
|
||||||
# flaskbabel
|
|
||||||
] ++ optionals (elem "i3" config.machine.desktop.wms) [ py3status pytz tzlocal ]);
|
|
||||||
|
|
||||||
rustpkgs = with stablepkgs; [
|
|
||||||
rustup
|
|
||||||
carnix
|
|
||||||
rustracer
|
|
||||||
];
|
|
||||||
|
|
||||||
server = with pkgs; [
|
|
||||||
audit
|
|
||||||
letsencrypt
|
|
||||||
php
|
|
||||||
simp_le
|
|
||||||
];
|
|
||||||
|
|
||||||
uniProgs = with pkgs; [
|
|
||||||
qucs
|
|
||||||
];
|
|
||||||
|
|
||||||
xpkgs = with pkgs; [
|
|
||||||
feh
|
|
||||||
scrot
|
|
||||||
theme_flat-remix
|
|
||||||
theme_sddm_midnight
|
|
||||||
gnome3.dconf
|
|
||||||
gnome3.gnome-terminal
|
|
||||||
gnome3.gvfs
|
|
||||||
gvfs
|
|
||||||
oneko
|
|
||||||
pcmanfm lxmenu-data shared_mime_info
|
|
||||||
pavucontrol
|
|
||||||
xclip
|
|
||||||
xlibs.xkill
|
|
||||||
xorg.xbacklight
|
|
||||||
xdiskusage
|
|
||||||
];
|
|
||||||
}
|
|
68
pkgs/pkgsets/base.nix
Normal file
68
pkgs/pkgsets/base.nix
Normal file
|
@ -0,0 +1,68 @@
|
||||||
|
# Programms I'm likely to want on every machine and/or may execute as root
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.base.pkgs = with pkgs; [
|
||||||
|
alsaUtils
|
||||||
|
finger_bsd
|
||||||
|
ccze
|
||||||
|
cksfv
|
||||||
|
cryptsetup
|
||||||
|
dhcpcd
|
||||||
|
dnsutils
|
||||||
|
gitFull git-lfs
|
||||||
|
gnupg
|
||||||
|
gptfdisk
|
||||||
|
haskellPackages.nix-derivation
|
||||||
|
home-manager
|
||||||
|
htop
|
||||||
|
hwinfo
|
||||||
|
indent
|
||||||
|
iptables
|
||||||
|
jp
|
||||||
|
lrzip
|
||||||
|
lsof
|
||||||
|
lshw
|
||||||
|
macchanger
|
||||||
|
mkpasswd
|
||||||
|
netcat
|
||||||
|
nix-diff
|
||||||
|
nix-index
|
||||||
|
nix-plugins
|
||||||
|
nix-prefetch-git
|
||||||
|
nix-serve
|
||||||
|
nix-update-source
|
||||||
|
nix-zsh-completions
|
||||||
|
nixbang
|
||||||
|
nixops
|
||||||
|
nmap
|
||||||
|
nox
|
||||||
|
ntfs3g
|
||||||
|
oh-my-zsh
|
||||||
|
openssl
|
||||||
|
parted
|
||||||
|
p7zip
|
||||||
|
pciutils
|
||||||
|
psmisc
|
||||||
|
rfkill
|
||||||
|
ripgrep
|
||||||
|
rsync
|
||||||
|
sl
|
||||||
|
sysvtools
|
||||||
|
telnet
|
||||||
|
traceroute
|
||||||
|
tree
|
||||||
|
unrar
|
||||||
|
unzipNLS
|
||||||
|
usbutils
|
||||||
|
vim
|
||||||
|
vulnix
|
||||||
|
wget
|
||||||
|
whois
|
||||||
|
wirelesstools
|
||||||
|
wpa_supplicant
|
||||||
|
zip unzipNLS
|
||||||
|
zlib
|
||||||
|
zsh
|
||||||
|
];
|
||||||
|
}
|
11
pkgs/pkgsets/cpp.nix
Normal file
11
pkgs/pkgsets/cpp.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.cpp.pkgs = with pkgs; [
|
||||||
|
clang
|
||||||
|
cmake
|
||||||
|
gcc
|
||||||
|
global
|
||||||
|
irony-server
|
||||||
|
];
|
||||||
|
}
|
9
pkgs/pkgsets/dict.nix
Normal file
9
pkgs/pkgsets/dict.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.dict.pkgs = with pkgs; [
|
||||||
|
translate-shell
|
||||||
|
( hunspellWithDicts (with pkgs.hunspellDicts; [ de-de en-us ] ))
|
||||||
|
( aspellWithDicts (d: with d; [ de en en-computers en-science ] ))
|
||||||
|
];
|
||||||
|
}
|
62
pkgs/pkgsets/emacs.nix
Normal file
62
pkgs/pkgsets/emacs.nix
Normal file
|
@ -0,0 +1,62 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
gitpkgs = import /nixpkgs {};
|
||||||
|
in {
|
||||||
|
config.machine.pkgsets.emacs.pkgwrap = [ (gitpkgs.emacsWithPackages (epkgs: with epkgs; config.machine.pkgsets.emacs.pkgs)) ];
|
||||||
|
config.machine.pkgsets.emacs.pkgs = with pkgs; with pkgs.emacsPackages; [
|
||||||
|
/* Theming */
|
||||||
|
solarized-theme color-theme-sanityinc-tomorrow moe-theme powerline moody minions
|
||||||
|
/*General Stuff */
|
||||||
|
rainbow-delimiters # color parenthesis by indentation
|
||||||
|
color-identifiers-mode
|
||||||
|
/* Python */
|
||||||
|
company-jedi pylint elpy flycheck-mypy
|
||||||
|
/* Git support */
|
||||||
|
magit
|
||||||
|
emms # multimedia support
|
||||||
|
wsd-mode
|
||||||
|
plantuml-mode
|
||||||
|
/* Other Stuff, not yet sorted */
|
||||||
|
mu4e-alert
|
||||||
|
google-translate
|
||||||
|
tramp
|
||||||
|
transmission
|
||||||
|
org-plus-contrib orgit ox-gfm ox-rst
|
||||||
|
easy-jekyll markdown-mode impatient-mode simple-httpd htmlize
|
||||||
|
eclim
|
||||||
|
auto-complete
|
||||||
|
pkgs.aspell pkgs.aspellDicts.en pkgs.aspellDicts.de
|
||||||
|
use-package diminish bind-key
|
||||||
|
smartparens
|
||||||
|
evil-surround evil-indent-textobject evil-cleverparens avy undo-tree
|
||||||
|
cdlatex # for math expressions
|
||||||
|
helm
|
||||||
|
/* LaTeX */ auctex helm-bibtex cdlatex
|
||||||
|
markdown-mode
|
||||||
|
flycheck
|
||||||
|
pkgs.ledger
|
||||||
|
yaml-mode
|
||||||
|
company
|
||||||
|
# Irony is currently broken.
|
||||||
|
/* C/C++ */ irony company-irony company-irony-c-headers flycheck-irony clang-format pkgs.clang-tools
|
||||||
|
/* Haskell */ haskell-mode flycheck-haskell
|
||||||
|
/* Org */ org org-ref pdf-tools org-bullets org-caldav
|
||||||
|
/* Rust */ rust-mode flycheck-rust racer
|
||||||
|
/* mail */ messages-are-flowing
|
||||||
|
/* Nix */ nix-buffer nix-mode nixos-options company-nixos-options nix-sandbox
|
||||||
|
paganini-theme
|
||||||
|
json-navigator
|
||||||
|
spaceline # modeline beautification
|
||||||
|
winum eyebrowse # window management
|
||||||
|
auto-compile
|
||||||
|
/* Maxima */ pkgs.maxima
|
||||||
|
visual-fill-column
|
||||||
|
web-mode
|
||||||
|
melpaStablePackages.idris-mode helm-idris
|
||||||
|
/* Java */
|
||||||
|
# projectile yasnippet lsp-mode hydra company-lsp lsp-ui lsp-java dap-mode
|
||||||
|
cl-lib meghanada autodisass-java-bytecode google-c-style realgud
|
||||||
|
weechat
|
||||||
|
];
|
||||||
|
}
|
9
pkgs/pkgsets/extra.nix
Normal file
9
pkgs/pkgsets/extra.nix
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.extra.pkgs = with pkgs; [
|
||||||
|
imagemagick
|
||||||
|
texlive.combined.scheme-full
|
||||||
|
transmission
|
||||||
|
];
|
||||||
|
}
|
5
pkgs/pkgsets/haskell-tools.nix
Normal file
5
pkgs/pkgsets/haskell-tools.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.haskell-tools.pkgs = with pkgs; [ cabal-install hlint ]; # ghcid
|
||||||
|
}
|
10
pkgs/pkgsets/haskell.nix
Normal file
10
pkgs/pkgsets/haskell.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.haskell.pkgwrap = [ (pkgs.haskellPackages.ghcWithPackages (pkgs: config.machine.pkgsets.haskell.pkgs)) ];
|
||||||
|
config.machine.pkgsets.haskell.pkgs = with pkgs.haskellPackages; [
|
||||||
|
hindent
|
||||||
|
mtl
|
||||||
|
random
|
||||||
|
];
|
||||||
|
}
|
18
pkgs/pkgsets/java.nix
Normal file
18
pkgs/pkgsets/java.nix
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.java.pkgs = with pkgs; [
|
||||||
|
openjdk11
|
||||||
|
maven
|
||||||
|
(with gitpkgs.eclipses; eclipseWithPlugins {
|
||||||
|
eclipse = eclipse-platform;
|
||||||
|
jvmArgs = [ "-Xmx2048m" ];
|
||||||
|
plugins = with plugins; [
|
||||||
|
color-theme
|
||||||
|
# emacsplus
|
||||||
|
checkstyle
|
||||||
|
eclemma
|
||||||
|
];
|
||||||
|
})
|
||||||
|
];
|
||||||
|
}
|
14
pkgs/pkgsets/mail_utils.nix
Normal file
14
pkgs/pkgsets/mail_utils.nix
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
gitpkgs = import /nixpkgs {};
|
||||||
|
in {
|
||||||
|
config.machine.pkgsets.mail_utils.pkgs = with pkgs; [
|
||||||
|
fetchmail
|
||||||
|
isync
|
||||||
|
mailutils
|
||||||
|
gitpkgs.mu
|
||||||
|
pandoc
|
||||||
|
postfix
|
||||||
|
];
|
||||||
|
}
|
63
pkgs/pkgsets/python3.nix
Normal file
63
pkgs/pkgsets/python3.nix
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
gitpkgs = import /nixpkgs {};
|
||||||
|
in {
|
||||||
|
config.machine.pkgsets.python3.pkgwrap = [ (gitpkgs.python3Full.withPackages (ps: with ps; config.machine.pkgsets.python3.pkgs)) ];
|
||||||
|
config.machine.pkgsets.python3.pkgs = with gitpkgs.python3Packages; [
|
||||||
|
GitPython
|
||||||
|
bpython
|
||||||
|
# cairosvg cairocffi
|
||||||
|
configparser
|
||||||
|
django
|
||||||
|
emoji
|
||||||
|
epc
|
||||||
|
flake8
|
||||||
|
genanki
|
||||||
|
mypy
|
||||||
|
numpy
|
||||||
|
opencv3
|
||||||
|
paho-mqtt
|
||||||
|
pep8
|
||||||
|
pillow
|
||||||
|
pip
|
||||||
|
plotly
|
||||||
|
pyflakes
|
||||||
|
pygame pygame_sdl2
|
||||||
|
pylama
|
||||||
|
pylint
|
||||||
|
pyopengl
|
||||||
|
pyproj
|
||||||
|
pytest
|
||||||
|
requests
|
||||||
|
schedule
|
||||||
|
scipy
|
||||||
|
selenium
|
||||||
|
telegram
|
||||||
|
tkinter
|
||||||
|
toolz
|
||||||
|
virtualenv
|
||||||
|
xdot
|
||||||
|
# flask
|
||||||
|
# flask-common
|
||||||
|
# flask-compress
|
||||||
|
# flask-cors
|
||||||
|
# flask-limiter
|
||||||
|
# flask-pymongo
|
||||||
|
# flask-restful
|
||||||
|
# flask-restplus
|
||||||
|
# flask_assets
|
||||||
|
# flask_elastic
|
||||||
|
# flask_login
|
||||||
|
# flask_mail
|
||||||
|
# flask_marshmallow
|
||||||
|
# flask_migrate
|
||||||
|
# flask_oauthlib
|
||||||
|
# flask_principal
|
||||||
|
# flask_script
|
||||||
|
# flask_sqlalchemy
|
||||||
|
# flask_testing
|
||||||
|
# flask_wtf
|
||||||
|
# flaskbabel
|
||||||
|
];
|
||||||
|
}
|
11
pkgs/pkgsets/rustpkgs.nix
Normal file
11
pkgs/pkgsets/rustpkgs.nix
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
let
|
||||||
|
stablepkgs = import <nixos-stable> {};
|
||||||
|
in {
|
||||||
|
config.machine.pkgsets.rustpkgs.pkgs = with stablepkgs; [
|
||||||
|
rustup
|
||||||
|
carnix
|
||||||
|
rustracer
|
||||||
|
];
|
||||||
|
}
|
10
pkgs/pkgsets/server.nix
Normal file
10
pkgs/pkgsets/server.nix
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.server.pkgs = with pkgs; [
|
||||||
|
audit
|
||||||
|
letsencrypt
|
||||||
|
php
|
||||||
|
simp_le
|
||||||
|
];
|
||||||
|
}
|
5
pkgs/pkgsets/uniProgs.nix
Normal file
5
pkgs/pkgsets/uniProgs.nix
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.uniProgs.pkgs = with pkgs; [ qucs ];
|
||||||
|
}
|
21
pkgs/pkgsets/xpkgs.nix
Normal file
21
pkgs/pkgsets/xpkgs.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ config, pkgs, ... }:
|
||||||
|
|
||||||
|
{
|
||||||
|
config.machine.pkgsets.xpkgs.pkgs = with pkgs; [
|
||||||
|
feh
|
||||||
|
scrot
|
||||||
|
theme_flat-remix
|
||||||
|
theme_sddm_midnight
|
||||||
|
gnome3.dconf
|
||||||
|
gnome3.gnome-terminal
|
||||||
|
gnome3.gvfs
|
||||||
|
gvfs
|
||||||
|
oneko
|
||||||
|
pcmanfm lxmenu-data shared_mime_info
|
||||||
|
pavucontrol
|
||||||
|
xclip
|
||||||
|
xlibs.xkill
|
||||||
|
xorg.xbacklight
|
||||||
|
xdiskusage
|
||||||
|
];
|
||||||
|
}
|
|
@ -4,13 +4,20 @@ with lib;
|
||||||
|
|
||||||
let
|
let
|
||||||
cfg = config.machine;
|
cfg = config.machine;
|
||||||
|
pkgsets = (lists.forEach
|
||||||
|
(attrNames (filterAttrs (n: v: v == "regular") (builtins.readDir ./pkgsets)))
|
||||||
|
(v: (./. + "/pkgsets/${v}")));
|
||||||
in {
|
in {
|
||||||
environment.systemPackages = flatten (attrVals cfg.pkgs pkgs.pkgsets);
|
imports = pkgsets;
|
||||||
|
|
||||||
|
environment.systemPackages = flatten (lists.forEach
|
||||||
|
(attrVals cfg.pkgs cfg.pkgsets)
|
||||||
|
(v: v.pkgwrap));
|
||||||
|
|
||||||
services.emacs = mkIf (elem "emacs" cfg.pkgs) {
|
services.emacs = mkIf (elem "emacs" cfg.pkgs) {
|
||||||
defaultEditor = true;
|
defaultEditor = true;
|
||||||
enable = true;
|
enable = true;
|
||||||
install = true;
|
install = true;
|
||||||
package = pkgs.pkgsets.emacs;
|
package = (elemAt cfg.pkgsets.emacs.pkgwrap 0);
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
|
@ -56,4 +56,5 @@ in mkIf (elem "desktop" cfg.services) {
|
||||||
horizontalScrolling = true;
|
horizontalScrolling = true;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
machine.pkgsets.python3.pkgs = with pkgs.python3Packages; [ py3status pytz tzlocal ];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue