mirror of
https://github.com/Stunkymonkey/nixos.git
synced 2025-05-24 18:04:41 +02:00
initial commit
This commit is contained in:
commit
7517f318dc
55 changed files with 1401 additions and 0 deletions
8
extra/3d-printing.nix
Normal file
8
extra/3d-printing.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
meshlab
|
||||
cura
|
||||
openscad
|
||||
];
|
||||
}
|
7
extra/android.nix
Normal file
7
extra/android.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
programs.adb.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
scrcpy
|
||||
];
|
||||
}
|
7
extra/arch-linux.nix
Normal file
7
extra/arch-linux.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
pacman
|
||||
];
|
||||
environment.etc."makepkg.conf".source = "${pkgs.pacman}/etc/makepkg.conf";
|
||||
}
|
13
extra/avahi.nix
Normal file
13
extra/avahi.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
services.avahi = {
|
||||
enable = true;
|
||||
nssmdns = true;
|
||||
publish = {
|
||||
enable = true;
|
||||
addresses = true;
|
||||
workstation = true;
|
||||
userServices = true;
|
||||
};
|
||||
};
|
||||
}
|
19
extra/bluetooth-audio.nix
Normal file
19
extra/bluetooth-audio.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
hardware.bluetooth = {
|
||||
enable = true;
|
||||
package = pkgs.bluezFull;
|
||||
config = {
|
||||
General = {
|
||||
Enable = "Source,Sink,Media,Socket";
|
||||
};
|
||||
};
|
||||
};
|
||||
hardware.pulseaudio = {
|
||||
enable = true;
|
||||
extraModules = [ pkgs.pulseaudio-modules-bt ];
|
||||
package = pkgs.pulseaudioFull;
|
||||
};
|
||||
services.blueman.enable = true;
|
||||
}
|
10
extra/clean.nix
Normal file
10
extra/clean.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
baobab
|
||||
#dupeguru
|
||||
jdupes
|
||||
kondo
|
||||
];
|
||||
}
|
119
extra/default.nix
Normal file
119
extra/default.nix
Normal file
|
@ -0,0 +1,119 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
|
||||
in
|
||||
{
|
||||
|
||||
imports = [
|
||||
./fonts.nix
|
||||
];
|
||||
|
||||
programs.gnome-disks.enable = true;
|
||||
services.udisks2.enable = true;
|
||||
|
||||
# test if working
|
||||
#xdg.mime.enable = true;
|
||||
|
||||
# make gnome settings persistent
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
# gnome services
|
||||
services.dbus.packages = [ pkgs.gnome3.dconf ];
|
||||
services.udev.packages = [ pkgs.gnome3.gnome-settings-daemon ];
|
||||
services.gnome3.gnome-keyring.enable = true;
|
||||
services.gnome3.glib-networking.enable = true;
|
||||
# enable trash & network-mount in nautilus
|
||||
services.gvfs.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
#mime-types
|
||||
xdg_utils
|
||||
adwaita-qt
|
||||
arc-icon-theme
|
||||
arc-kde-theme
|
||||
arc-theme
|
||||
evince
|
||||
firefox-wayland
|
||||
#geary
|
||||
ghostwriter
|
||||
(gimp-with-plugins.override { plugins = with gimpPlugins; [ resynthesizer ]; })
|
||||
glib
|
||||
gnome3.adwaita-icon-theme
|
||||
gnome3.eog
|
||||
gnome3.file-roller
|
||||
gnome3.gnome-calendar
|
||||
gnome3.gnome-system-monitor
|
||||
gnome3.nautilus
|
||||
gnome3.nautilus-python
|
||||
gnome3.simple-scan
|
||||
keepassxc
|
||||
keychain
|
||||
konsole
|
||||
libnotify
|
||||
libreoffice
|
||||
lollypop
|
||||
unstable.newsflash
|
||||
numix-cursor-theme
|
||||
numix-icon-theme
|
||||
numix-icon-theme-circle
|
||||
polkit_gnome
|
||||
qgnomeplatform
|
||||
rhythmbox
|
||||
simple-scan
|
||||
#spotify
|
||||
socat
|
||||
tdesktop
|
||||
thunderbird
|
||||
typora
|
||||
virtmanager
|
||||
vlc
|
||||
mpv-with-scripts
|
||||
wayvnc
|
||||
zathura
|
||||
zeal
|
||||
|
||||
# TODO sort them in different files
|
||||
pdfgrep
|
||||
physlock
|
||||
#symlinks
|
||||
];
|
||||
|
||||
# Enable firmware update daemon
|
||||
services.fwupd.enable = true;
|
||||
|
||||
programs.wireshark.enable = true;
|
||||
programs.wireshark.package = pkgs.wireshark;
|
||||
|
||||
services.accounts-daemon.enable = true;
|
||||
|
||||
environment.interactiveShellInit = ''
|
||||
if test `tty` = /dev/tty1; then
|
||||
exec sway
|
||||
fi
|
||||
'';
|
||||
|
||||
# services.xserver = {
|
||||
# enable = true;
|
||||
# layout = "us";
|
||||
# xkbOptions = "eurosign:e";
|
||||
# libinput.enable = true;
|
||||
# libinput.naturalScrolling = true;
|
||||
#
|
||||
# startDbusSession = true;
|
||||
# updateDbusEnvironment = true;
|
||||
#
|
||||
# desktopManager = {
|
||||
# xterm.enable = false;
|
||||
# gnome3.enable = false;
|
||||
# };
|
||||
#
|
||||
# displayManager = {
|
||||
# sessionData.sessionNames = [ "sway" "none+i3" ];
|
||||
# defaultSession = "sway";
|
||||
# gdm.enable = true;
|
||||
# gdm.wayland = true;
|
||||
# lightdm.enable = false;
|
||||
# };
|
||||
# };
|
||||
}
|
14
extra/desktop-development.nix
Normal file
14
extra/desktop-development.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
arduino
|
||||
bless # hex editor
|
||||
chromium
|
||||
dbeaver
|
||||
filezilla
|
||||
fritzing
|
||||
insomnia
|
||||
#jetbrains.idea-community
|
||||
sublime3
|
||||
];
|
||||
}
|
52
extra/development.nix
Normal file
52
extra/development.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
# rust
|
||||
unstable.cargo
|
||||
unstable.clippy # lint
|
||||
cargo-flamegraph
|
||||
cargo-outdated
|
||||
# general
|
||||
clang
|
||||
cmake
|
||||
cvs
|
||||
dfeet
|
||||
direnv
|
||||
entr
|
||||
git
|
||||
gnumake
|
||||
go
|
||||
hugo
|
||||
meson
|
||||
ninja
|
||||
patchelf
|
||||
pkg-config
|
||||
(python3.withPackages (ps: with ps; [
|
||||
nltk # language-toolkit
|
||||
tqdm # progressbar in pandas
|
||||
jupyter # notebooks
|
||||
Keras # machine learning
|
||||
tensorflow-build_2 # machine learning
|
||||
transformers # machine learning
|
||||
numpy
|
||||
pandas
|
||||
matplotlib
|
||||
scipy
|
||||
scikitlearn
|
||||
pillow
|
||||
]))
|
||||
ripgrep
|
||||
rustfmt
|
||||
unstable.rustc
|
||||
shellcheck
|
||||
sloccount
|
||||
topgrade
|
||||
valgrind
|
||||
vimPlugins.YouCompleteMe
|
||||
ycmd
|
||||
woeusb
|
||||
];
|
||||
}
|
8
extra/docker.nix
Normal file
8
extra/docker.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
virtualisation.docker.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
docker_compose
|
||||
];
|
||||
}
|
12
extra/filesystem.nix
Normal file
12
extra/filesystem.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
davfs2
|
||||
fuse3
|
||||
hfsprogs
|
||||
mtpfs
|
||||
nfs-utils
|
||||
ntfs3g
|
||||
sshfs
|
||||
];
|
||||
}
|
29
extra/fonts.nix
Normal file
29
extra/fonts.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
fonts = {
|
||||
fontconfig.defaultFonts = {
|
||||
monospace = [ "Ubuntu Mono" ];
|
||||
sansSerif = [ "Ubuntu" ];
|
||||
serif = [ "DejaVu Serif" ];
|
||||
};
|
||||
|
||||
fonts = with pkgs; [
|
||||
cantarell-fonts # gnome default
|
||||
dina-font
|
||||
fira
|
||||
fira-mono
|
||||
fira-code
|
||||
fira-code-symbols
|
||||
font-awesome
|
||||
liberation_ttf
|
||||
#mplus-outline-fonts
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
proggyfonts
|
||||
ubuntu_font_family
|
||||
joypixels
|
||||
#unifont # unicode
|
||||
];
|
||||
};
|
||||
}
|
22
extra/gaming.nix
Normal file
22
extra/gaming.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
blobby
|
||||
discord
|
||||
minecraft
|
||||
minetest
|
||||
openttd
|
||||
superTuxKart
|
||||
steam
|
||||
SDL
|
||||
SDL2
|
||||
wine
|
||||
winetricks
|
||||
];
|
||||
|
||||
programs.steam.enable = true;
|
||||
|
||||
hardware.opengl.driSupport32Bit = true;
|
||||
hardware.opengl.extraPackages32 = with pkgs.pkgsi686Linux; [ libva ];
|
||||
hardware.pulseaudio.support32Bit = true;
|
||||
}
|
14
extra/hardware-base.nix
Normal file
14
extra/hardware-base.nix
Normal file
|
@ -0,0 +1,14 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.smartd.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
dmidecode
|
||||
f3
|
||||
hdparm
|
||||
lm_sensors
|
||||
pciutils
|
||||
smartmontools
|
||||
testdisk
|
||||
];
|
||||
}
|
15
extra/intel-video.nix
Normal file
15
extra/intel-video.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
nixpkgs.config.packageOverrides = pkgs: {
|
||||
vaapiIntel = pkgs.vaapiIntel.override { enableHybridCodec = true; };
|
||||
};
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver # LIBVA_DRIVER_NAME=iHD
|
||||
vaapiIntel # LIBVA_DRIVER_NAME=i965 (older but works better for Firefox/Chromium)
|
||||
vaapiVdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
};
|
||||
}
|
5
extra/intel.nix
Normal file
5
extra/intel.nix
Normal file
|
@ -0,0 +1,5 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
hardware.cpu.intel.updateMicrocode = true;
|
||||
}
|
9
extra/kvm.nix
Normal file
9
extra/kvm.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.kernelModules = [
|
||||
"kvm-amd"
|
||||
"kvm-intel"
|
||||
];
|
||||
virtualisation.libvirtd.enable = true;
|
||||
}
|
24
extra/location.nix
Normal file
24
extra/location.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
location.provider = "geoclue2";
|
||||
|
||||
services.geoclue2.enable = true;
|
||||
services.geoclue2.enableDemoAgent = true;
|
||||
services.geoclue2.appConfig."gammastep" = {
|
||||
desktopID = "gammastep";
|
||||
isAllowed = true;
|
||||
isSystem = false;
|
||||
# Empty list allows all users
|
||||
users = [ ];
|
||||
};
|
||||
|
||||
services.geoclue2.appConfig."gammastep-indicator" = {
|
||||
desktopID = "gammastep-indicator";
|
||||
isAllowed = true;
|
||||
isSystem = false;
|
||||
# Empty list allows all users
|
||||
users = [ ];
|
||||
};
|
||||
|
||||
}
|
26
extra/media.nix
Normal file
26
extra/media.nix
Normal file
|
@ -0,0 +1,26 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
audacity
|
||||
chromaprint # music-brainz fingerprint
|
||||
ffmpeg
|
||||
gallery-dl
|
||||
graphviz
|
||||
handbrake
|
||||
imagemagick
|
||||
image_optim
|
||||
inkscape
|
||||
unstable.puddletag # audio tagging
|
||||
mp3val
|
||||
#mediaelch
|
||||
unstable.mediaelch
|
||||
picard
|
||||
projectm
|
||||
shotwell
|
||||
soundkonverter
|
||||
youtube-dl
|
||||
];
|
||||
}
|
15
extra/meeting.nix
Normal file
15
extra/meeting.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
let
|
||||
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
element-desktop
|
||||
mumble
|
||||
unstable.nheko
|
||||
pidgin
|
||||
skypeforlinux
|
||||
signal-desktop
|
||||
teamspeak_client
|
||||
];
|
||||
}
|
22
extra/networkdecrypt.nix
Normal file
22
extra/networkdecrypt.nix
Normal file
|
@ -0,0 +1,22 @@
|
|||
{ pkgs, ... }:
|
||||
|
||||
{
|
||||
boot.initrd.network = {
|
||||
enable = true;
|
||||
|
||||
ssh = {
|
||||
enable = true;
|
||||
port = 2222;
|
||||
hostKeys = [
|
||||
/etc/secrets/initrd/ssh_host_ed25519_key
|
||||
];
|
||||
authorizedKeys = [
|
||||
"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIOFx6OLwL9MbkD3mnMsv+xrzZHN/rwCTgVs758SCLG0h felix@thinkman"
|
||||
];
|
||||
};
|
||||
|
||||
postCommands = ''
|
||||
echo 'cryptsetup-askpass' >> /root/.profile
|
||||
'';
|
||||
};
|
||||
}
|
7
extra/nix.nix
Normal file
7
extra/nix.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
nixpkgs-fmt
|
||||
nix-prefetch-git
|
||||
];
|
||||
}
|
19
extra/power.nix
Normal file
19
extra/power.nix
Normal file
|
@ -0,0 +1,19 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = [
|
||||
config.boot.kernelPackages.cpupower
|
||||
pkgs.powertop
|
||||
pkgs.s-tui
|
||||
];
|
||||
|
||||
powerManagement = {
|
||||
cpuFreqGovernor = lib.mkDefault "powersave";
|
||||
powertop.enable = true;
|
||||
};
|
||||
|
||||
services = {
|
||||
thermald.enable = true;
|
||||
upower.enable = true;
|
||||
};
|
||||
}
|
6
extra/presentation.nix
Normal file
6
extra/presentation.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ config, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
pdfpc
|
||||
];
|
||||
}
|
10
extra/printer.nix
Normal file
10
extra/printer.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
services.printing.enable = true;
|
||||
services.printing.drivers = with pkgs; [
|
||||
gutenprint
|
||||
hplip
|
||||
];
|
||||
programs.system-config-printer.enable = true;
|
||||
}
|
25
extra/screen-sharing.nix
Normal file
25
extra/screen-sharing.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
remmina
|
||||
teamviewer
|
||||
];
|
||||
|
||||
services.pipewire.enable = true;
|
||||
|
||||
xdg.portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
xdg-desktop-portal-wlr
|
||||
];
|
||||
gtkUsePortal = true;
|
||||
};
|
||||
|
||||
# for firefox
|
||||
environment.sessionVariables = {
|
||||
MOZ_ENABLE_WAYLAND = "1";
|
||||
XDG_CURRENT_DESKTOP = "sway";
|
||||
XDG_SESSION_TYPE = "wayland";
|
||||
};
|
||||
}
|
7
extra/security.nix
Normal file
7
extra/security.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
aircrack-ng
|
||||
lynis
|
||||
];
|
||||
}
|
11
extra/sound.nix
Normal file
11
extra/sound.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ config, pkgs, ... }:
|
||||
|
||||
{
|
||||
sound.enable = true;
|
||||
hardware.pulseaudio.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
noisetorch
|
||||
pavucontrol
|
||||
playerctl
|
||||
];
|
||||
}
|
9
extra/ssh.nix
Normal file
9
extra/ssh.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
services.openssh.enable = true;
|
||||
|
||||
# WARNING: if you remove this, then you need to assign a password to your user, otherwise
|
||||
# `sudo` won't work. You can do that either by using `passwd` after the first rebuild or
|
||||
# by setting an hashed password in the `users.users.felix` block as `initialHashedPassword`.
|
||||
security.sudo.wheelNeedsPassword = false;
|
||||
}
|
12
extra/sync.nix
Normal file
12
extra/sync.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
nextcloud-client
|
||||
unstable.syncthing
|
||||
magic-wormhole
|
||||
vdirsyncer
|
||||
];
|
||||
}
|
6
extra/systemd-user.nix
Normal file
6
extra/systemd-user.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ config, ... }:
|
||||
{
|
||||
systemd.user.extraConfig = ''
|
||||
DefaultEnvironment="PATH=/run/current-system/sw/bin"
|
||||
'';
|
||||
}
|
15
extra/systemduefi.nix
Normal file
15
extra/systemduefi.nix
Normal file
|
@ -0,0 +1,15 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
boot = {
|
||||
loader = {
|
||||
timeout = 1;
|
||||
systemd-boot = {
|
||||
enable = true;
|
||||
configurationLimit = 10;
|
||||
consoleMode = "keep";
|
||||
editor = true;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
12
extra/tex.nix
Normal file
12
extra/tex.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
unstable.jabref
|
||||
biber
|
||||
texlive.combined.scheme-full
|
||||
texstudio
|
||||
];
|
||||
}
|
10
extra/theme.nix
Normal file
10
extra/theme.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
gtk-engine-murrine
|
||||
gtk_engines
|
||||
gsettings-desktop-schemas
|
||||
lxappearance
|
||||
];
|
||||
programs.qt5ct.enable = true;
|
||||
}
|
10
extra/thunderbolt.nix
Normal file
10
extra/thunderbolt.nix
Normal file
|
@ -0,0 +1,10 @@
|
|||
{ config, pkgs, ... }:
|
||||
let
|
||||
unstable = import <nixos-unstable> { config = { allowUnfree = true; }; };
|
||||
in
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
thunderbolt
|
||||
];
|
||||
services.hardware.bolt.enable = true;
|
||||
}
|
8
extra/webcam.nix
Normal file
8
extra/webcam.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
fswebcam
|
||||
gnome3.cheese
|
||||
];
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue