This commit is contained in:
2024-03-30 12:17:29 +01:00
parent d51ea215f8
commit 45932905cb
45 changed files with 448 additions and 189 deletions

7
TODO-SERVER.md Normal file
View File

@@ -0,0 +1,7 @@
# HTML "Hello World"
# Domain
- Hetzner
# Mail Server

71
TODOS.md Normal file
View File

@@ -0,0 +1,71 @@
# Neues
## Bluetooth
- Connection failed
- anders machen
## Minecraft
- FTB
- ATL
- Maby nur am standpc
## Catppuccin Theme
- Zathura
## Folder
- Hardwareconfig auf beide aufteilen
# Optimierung
## Anki
- Catppuccin Theme deklarativ machen -> recolor addon?
## XMonad
- Workspaces
- Scratchpad
## Sddm
- Wann sperren -> XMonad?
## Dateien
- Sortieren
- Backup
- Uni Zeug Drucken
## Images
- Hintergrund, Lockscreen
- Webhook
## xmobar
- change bash scripts to Haskell Functions
## Thunderbird
- Theme declarativ setzen
- KJR Profil declarativ
- privat mail key fixen
- kalender davCal
- contacts
## Betterlockscreen
- initieren von Bild mit "betterlockscreen -u 'path'" delarativ
- Bild über module laden
## Dropbox
- Vorlesungsordner erstellen
# Zsh
- alias für server erstelen

9
configuration-laptop.nix Normal file
View File

@@ -0,0 +1,9 @@
{ config, lib, pkgs, ... }:
{
# Import general Configs
imports = [ ./configuration.nix ];
# Hostname
networking.hostName = "eliasLaptop";
}

View File

@@ -2,8 +2,11 @@
{
# Include the results of the hardware scan.
imports =
[ ./hardware-configuration.nix ./program-packages/dropbox/default.nix ];
imports = [
./hardware-configuration.nix
./program-packages/dropbox/default.nix
./program-packages/steam/default.nix
];
# Use the systemd-boot EFI boot loader.
boot.loader = {
@@ -12,22 +15,27 @@
};
# Chose NetworkManager and hostname.
networking = {
hostName = "eliasLaptop";
networkmanager.enable = true;
};
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/Berlin";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
# Use xkb.options in tty.
useXkbConfig = true;
};
# Garbage collect
nix.gc = {
automatic = true; # Enable the automatic garbage collector
dates = "10:00"; # When to run the garbage collector
options = "--delete-older-than 7d";
};
# Enable Asterisks for Password prompt
security.sudo = {
enable = true;
@@ -62,8 +70,6 @@
};
# Enable CUPS to print.
printing.enable = true;
# For Samba support in Nautilus.
gvfs.enable = true;
};
# Define a user account.
@@ -91,13 +97,22 @@
acpilight # For setting Backlight.
dbus
pulseaudio
pulseaudioFull
pulseaudio-ctl
bluez
bluez-alsa
bluez-tools
gnome.nautilus
#gnome.nautilus
lxqt.lxqt-policykit # provides a default authentication client for policykit
];
hardware.pulseaudio.extraConfig = ''
load-module module-combine-sink
load-module module-bluetooth-policy
load-module module-bluetooth-discover
'';
# permissions for acpilight
services.udev = {
enable = true;

View File

@@ -15,16 +15,42 @@
"github:nix-community/neovim-nightly-overlay";
outputs = { self, nixpkgs, xmonad-contrib, home-manager, ... }@inputs: {
nixosConfigurations = {
eliasLaptop = nixpkgs.lib.nixosSystem {
eliasLaptop = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
./configuration.nix
./machines/configuration-laptop.nix
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.elias = import ./home/default.nix;
users.elias = import ./home/default-laptop.nix;
};
nixpkgs.overlays = [
(final: prev: {
xmobar = final.haskellPackages.callPackage
./home/programs/xmonad/src/xmobar/default.nix { };
})
inputs.neovim-nightly-overlay.overlay
];
}
] ++ xmonad-contrib.nixosModules ++ [
# `modernise` replaces the standard xmonad module and wrapper script
# with those from unstable. This is currently a necessary workaround to
# make Mod-q recompilation work.
xmonad-contrib.modernise."x86_64-linux"
];
};
eliasDesktop = nixpkgs.lib.nixosSystem rec {
system = "x86_64-linux";
modules = [
./machines/configuration-desktop.nix
home-manager.nixosModules.home-manager
{
home-manager = {
useGlobalPkgs = true;
useUserPackages = true;
users.elias = import ./home/default-desktop.nix;
};
nixpkgs.overlays = [
(final: prev: {

View File

@@ -1,111 +0,0 @@
# Neues
## Kalender
- inplemantieren
- in Thunderbird übernehmen
## GHCI
- Installieren
## Ktouch
- Installieren?
## Discord
- Installieren
## Steam
- Installieren
- Spiele
## Spotify
- Installieren?
## Minecraft
- FTB
- ATL
- Maby nur am standpc
## Bitwarden
- Installieren
- COe hinzufügen
- Aufräumen
## Audacity
- Maby nur PC
## Zoom
- Installieren
## Catppuccin Theme
- Ecosia
- Anki
- Zathura
# Optimierung
## Neovim
- Sidebar
## Firefox
- Addons strukturieren
## XMonad
- Workspaces
## Nautilus
- Thumbnailer
## Dropbox
- aufräumen
## Sddm
- Profilbild?
- Wann sperren -> XMonad?
## Dateien
- Sortieren
- Backup
- Uni Zeug Drucken
## NixOS - Trash
- Garbage collect einrichten
## Images
- Hintergrund, Lockscreen
- Webhook
## xmobar
- pulseaudioctl only gives correct answer after one change
- change bash scripts to Haskell Functions
## Betterbird
- Theme declarativ setzen
- zweites Profil fixen
- uni mail
- privat mail key fixen
## Lockscreen
- Optisch anpassen -> ist nur proviorisch bis jetzt

5
home/default-desktop.nix Normal file
View File

@@ -0,0 +1,5 @@
{ config, pkgs, ... }:
{
imports = [ ./programs/default-desktop.nix ./services ./default.nix ];
}

5
home/default-laptop.nix Normal file
View File

@@ -0,0 +1,5 @@
{ config, pkgs, ... }:
{
imports = [ ./programs/default-laptop.nix ./services ./default.nix ];
}

View File

@@ -1,7 +1,6 @@
{ config, pkgs, ... }:
{
imports = [ ./programs ./services ];
home = {
username = "elias";
homeDirectory = "/home/elias";
@@ -18,33 +17,22 @@
lm_sensors
arandr
pavucontrol
sshf
sshfss
obsidian
lean4
firefox
bitwarden
];
# environment.shells = [ pkgs.zsh ];
# environment.variables.EDITOR = "nvim";
# environment.pathsToLink = [ "/share/zsh" ];
stateVersion = "23.11";
};
programs = {
home-manager.enable = true;
# thunar.enable = true;
# xfconf.enable = true;
# thunar.plugins = with pkgs.xfce; [
# thunar-archive-plugin
# thunar-volman
# ];
};
programs = { home-manager.enable = true; };
nixpkgs.config = {
allowUnfree = true;
permittedInsecurePackages = [ "electron-25.9.0" ];
};
# services.gvfs.enable = true;
# services.tumbler.enable = true;
}

View File

@@ -3,7 +3,7 @@
let
theme = builtins.fetchurl {
url =
"https://github.com/catppuccin/alacritty/ raw/main/catppuccin-mocha.toml";
"https://github.com/catppuccin/alacritty/raw/main/catppuccin-mocha.toml";
sha256 = "061yalrzpqivr67k2f8hsqixr77srgd8y47xvhp5vg0sjmh5lrcy";
};
in {

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ audacity ];
}

View File

@@ -0,0 +1 @@
{ imports = [ ./default.nix ./audacity ]; }

View File

@@ -0,0 +1 @@
{ imports = [ ./default.nix ]; }

View File

@@ -1,21 +1,25 @@
{
imports = [
./alacritty
./anki.nix
./discord.nix
./element.nix
./git.nix
./ktouch.nix
./anki
./discord
./element
./git
./ktouch
./libreoffice
./nemo
./neovim
./obs
./planify.nix
./planify
./rofi
./signal.nix
./telegram.nix
./signal
./spotify
./telegram
./thunderbird
./wallpaper.nix
./wallpaper
./xmonad
./zathura.nix
./zathura
./zoom
./zsh
];
}

View File

@@ -1,4 +1,4 @@
{ pkgs, ... }:
{ pkgs, config, ... }:
{
home.packages = with pkgs; [ element-desktop ];

View File

@@ -1,5 +0,0 @@
{ pkgs, ... }:
{
home.programs = with pkgs.libsForQt5; [ ktouch ];
}

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs.libsForQt5; [ ktouch ];
}

View File

@@ -0,0 +1,5 @@
{ pkgs, lib, ... }:
{
home.packages = with pkgs; [ libreoffice-qt hunspell hunspellDicts.de_DE ];
}

View File

@@ -0,0 +1,30 @@
{ pkgs, config, ... }:
{
home.packages = with pkgs; [
cinnamon.nemo-with-extensions
gnome.gnome-themes-extra
dconf
];
gtk = {
enable = true;
theme = {
name = "Catppuccin-Mocha-Compact-Flamingo-Dark";
package = pkgs.catppuccin-gtk.override {
accents = [ "flamingo" ];
size = "compact";
tweaks = [ "rimless" "black" ];
variant = "mocha";
};
};
};
xdg.configFile = {
"gtk-4.0/assets".source =
"${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/assets";
"gtk-4.0/gtk.css".source =
"${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk.css";
"gtk-4.0/gtk-dark.css".source =
"${config.gtk.theme.package}/share/themes/${config.gtk.theme.name}/gtk-4.0/gtk-dark.css";
};
}

View File

@@ -15,7 +15,7 @@ let
in {
home.sessionVariables = { EDITOR = "nvim"; };
home.packages = with pkgs; [ nerdfonts ];
home.packages = with pkgs; [ nerdfonts texliveFull ];
programs.neovim = {
enable = true;
@@ -90,7 +90,6 @@ in {
isort
python311Packages.autopep8
# LaTeX
texliveFull
texlab
xdotool
pplatex

View File

@@ -0,0 +1 @@
theme = "Catppuccin-mocha"

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ spotify ];
}

View File

@@ -0,0 +1,98 @@
# Catppuccin themes for Spotify-player
[[themes]]
name = "Catppuccin-mocha"
[themes.palette]
background = "#1E1E2E"
foreground = "#CDD6F4"
black = "#1E1E2E"
blue = "#89B4FA"
cyan = "#89DCEB"
green = "#A6E3A1"
magenta = "#CBA6F7"
red = "#F38BA8"
white = "#CDD6F4"
yellow = "#F9E2AF"
bright_black = "#1E1E2E"
bright_blue = "#89B4FA"
bright_cyan = "#89DCEB"
bright_green = "#A6E3A1"
bright_magenta = "#CBA6F7"
bright_red = "#F38BA8"
bright_white = "#CDD6F4"
bright_yellow = "#F9E2AF"
[themes.component_style]
selection = { bg = "#313244", modifiers = ["Bold"] }
[[themes]]
name = "Catppuccin-latte"
[themes.palette]
background = "#EFF1F5"
foreground = "#4C4F69"
black = "#EFF1F5"
blue = "#1E66F5"
cyan = "#04A5E5"
green = "#40A02B"
magenta = "#8839EF"
red = "#D20F39"
white = "#4C4F69"
yellow = "#DF8E1D"
bright_black = "#EFF1F5"
bright_blue = "#1E66F5"
bright_cyan = "#04A5E5"
bright_green = "#40A02B"
bright_magenta = "#8839EF"
bright_red = "#D20F39"
bright_white = "#4C4F69"
bright_yellow = "#DF8E1D"
[themes.component_style]
selection = { bg = "#CCD0DA", modifiers = ["Bold"] }
[[themes]]
name = "Catppuccin-frappe"
[themes.palette]
background = "#303446"
foreground = "#C6D0F5"
black = "#303446"
blue = "#8CAAEE"
cyan = "#89DCEB"
green = "#A6D189"
magenta = "#CA9EE6"
red = "#E78284"
white = "#C6D0F5"
yellow = "#E5C890"
bright_black = "#303446"
bright_blue = "#8CAAEE"
bright_cyan = "#89DCEB"
bright_green = "#A6D189"
bright_magenta = "#CA9EE6"
bright_red = "#E78284"
bright_white = "#C6D0F5"
bright_yellow = "#E5C890"
[themes.component_style]
selection = { bg = "#414559", modifiers = ["Bold"] }
[[themes]]
name = "Catppuccin-macchiato"
[themes.palette]
background = "#24273A"
foreground = "#CAD3F5"
black = "#24273A"
blue = "#8AADF4"
cyan = "#91D7E3"
green = "#A6DA95"
magenta = "#C6A0F6"
red = "#ED8796"
white = "#CAD3F5"
yellow = "#EED49F"
bright_black = "#24273A"
bright_blue = "#8AADF4"
bright_cyan = "#91D7E3"
bright_green = "#A6DA95"
bright_magenta = "#C6A0F6"
bright_red = "#ED8796"
bright_white = "#CAD3F5"
bright_yellow = "#EED49F"
[themes.component_style]
selection = { bg = "#363A4F", modifiers = ["Bold"] }

View File

@@ -6,6 +6,7 @@
profiles = {
privat.isDefault = true;
kjr.isDefault = false;
uni.isDefault = false;
};
settings = { };
};
@@ -26,7 +27,7 @@
'';
showSignature = "append";
};
passwordCommand = "mail-password";
passwordCommand = "OAuth2";
smtp = {
host = "smtp.office365.com";
port = 587;
@@ -44,7 +45,7 @@
key = "0x99D2EF975FE523CC";
signByDefault = true;
};
aliases = [ "eliasschrei@gmail.com" "elias.schroeter1601@gmail.com" ];
aliases = [ "elias.schroeter@murena.io" "xacufe67.cadome83@murena.io" ];
imap = {
host = "mail.ecloud.global";
port = 993;
@@ -71,6 +72,34 @@
primary = true;
thunderbird = { enable = true; };
};
uni = {
address = "elias.schroeter@campus.lmu.de";
imap = {
host = "studlmu.lrz.de";
port = 993;
tls.enable = true;
};
realName = "Elias Schröter";
signature = {
text = ''
Mit freundlichen Grüßen,
Elias Schröter.
'';
showSignature = "append";
};
passwordCommand = "mail-password";
smtp = {
host = "postout.lrz.de";
port = 587;
tls = {
enable = true;
useStartTls = true;
};
};
userName = "elias.schroeter@campus.lmu.de";
primary = false;
thunderbird = { enable = true; };
};
};
};
}

View File

Before

Width:  |  Height:  |  Size: 6.0 MiB

After

Width:  |  Height:  |  Size: 6.0 MiB

View File

@@ -1,11 +1,9 @@
{ pkgs, ... }:
{
programs.feh = {
enable = true;
};
programs.feh = { enable = true; };
xsession.initExtra = ''
${pkgs.feh}/bin/feh --bg-fill --no-fehbg "/etc/nixos/home/programs/background_temp.jpeg"
'';
${pkgs.feh}/bin/feh --bg-fill --no-fehbg "/etc/nixos/home/programs/wallpaper/background_temp.jpeg"
'';
}

View File

@@ -18,7 +18,7 @@ config =
, commands =
[
--Run $ Audio 10
Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status); Volume=$(cut -d ' ' -f 1 <<<$Status); Mute=$(cut -d ' ' -f 2 <<<$Status); Microphone=$(cut -d ' ' -f 3 <<<$Status); SpeakerColor=\"#a6e3a1\"; MicColor=\"#a6e3a1\"; if [[ $Mute == \"yes\" ]]; then Symbol=\"\xf466\"; SpeakerColor=\"#f38ba8\"; elif [[ $Volume -le 50 ]]; then Symbol=\"\xf027\"; elseSymbol=\"\xf028\"; fi; if [[ $Microphone == \"yes\" ]]; then MicOut=\"\xf036d\"; MicColor=\"#f38ba8\"; else MicOut=\"\xf036c\"; fi; echo \"<fc=$SpeakerColor><fn=1>$Symbol</fn></fc> $Volume% <fc=$MicColor><fn=1>$MicOut</fn></fc>\""] "audio" 60
Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status); Volume=$(cut -d ' ' -f 1 <<<$Status); Mute=$(cut -d ' ' -f 2 <<<$Status); Microphone=$(cut -d ' ' -f 3 <<<$Status); SpeakerColor=\"#a6e3a1\"; MicColor=\"#a6e3a1\"; if [[ $Mute == \"yes\" ]]; then Symbol=\"\xf466\"; SpeakerColor=\"#f38ba8\"; elif [[ $Volume -le 50 ]]; then Symbol=\"\xf027\"; elseSymbol=\"\xf028\"; fi; if [[ $Microphone == \"yes\" ]]; then MicOut=\"\xf036d\"; MicColor=\"#f38ba8\"; else MicOut=\"\xf036c\"; fi; echo \"<fc=$SpeakerColor><fn=1>$Symbol</fn></fc> $Volume% <fc=$MicColor><fn=1>$MicOut</fn></fc>\""] "audio" 10
--Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status);
-- Volume=$(cut -d ' ' -f 1 <<<$Status);
-- Mute=$(cut -d ' ' -f 2 <<<$Status);

View File

@@ -0,0 +1,5 @@
{ pkgs, ... }:
{
home.packages = with pkgs; [ zoom-us ];
}

View File

@@ -1,7 +1,13 @@
{ pkgs, config, ... }:
{
home.packages = with pkgs; [ fzf python3 zsh-nix-shell nix-zsh-completions ];
home.packages = with pkgs; [
fzf
python3
zsh-nix-shell
nix-zsh-completions
neofetch
];
programs.zsh = {
enable = true;
@@ -9,7 +15,8 @@
shellAliases = {
update = "sudo nixos-rebuild switch";
addTV =
"xrandr --output eDP-1 --auto --output HDMI-1 --mode 1920x1080 --right-of eDP-1";
"xrandr --output eDP-1 --auto --output HDMI-1 --mode 1920x1080 --left-of eDP-1";
conWG = "ssh elias@logout.nonagon.dev -p 6969";
};
enableAutosuggestions = true;
enableCompletion = true;
@@ -21,6 +28,8 @@
};
syntaxHighlighting = { enable = true; };
initExtra = ''
neofetch
PROMPT='%F{green}%n%f@%F{magenta}%m%f %F{blue}%B%~%b%f %# '
RPROMPT='[%F{yellow}%?%f]'
bindkey "^[[A" history-beginning-search-backward

View File

@@ -0,0 +1,8 @@
{ ... }:
{
services.betterlockscreen = {
enable = true;
arguments = [ "blur" ];
};
}

View File

@@ -1,5 +1,5 @@
{ pkgs, ... }:
{
imports = [ ./ssh-agent.nix ./gpg-agent.nix ./xscreenlocker.nix ];
imports = [ ./ssh-agent ./gpg-agent ./betterlockscreen ];
}

View File

@@ -0,0 +1,28 @@
{ pkgs, ... }:
# See https://github.com/nix-community/home-manager/issues/3095
let
pinentryRofi = pkgs.writeShellApplication {
name = "pinentry-rofi-with-env";
text = ''
PATH="$PATH:${pkgs.coreutils}/bin:${pkgs.rofi}/bin"
"${pkgs.pinentry-rofi}/bin/pinentry-rofi" "$@"
'';
};
in {
home.packages = with pkgs; [ pinentry-rofi ];
programs.gpg.enable = true;
services.gpg-agent = {
enable = true;
enableZshIntegration = true;
pinentryFlavor = null;
defaultCacheTtl = 7200; # 2h
maxCacheTtl = 28800; # 8h
extraConfig = ''
pinentry-program ${pinentryRofi}/bin/pinentry-rofi-with-env
'';
};
}

View File

@@ -1,19 +0,0 @@
{ pkgs, ... }:
let images = pkgs.callPackage ../extras/images.nix { };
in {
home.packages = with pkgs; [ xsecurelock ];
home.sessionVariables = rec {
XSECURELOCK_COMPOSITE_OBSCURER = 0;
XSECURELOCK_PASSWORD_PROMPT = "asterisks";
};
services.screen-locker = {
enable = true;
inactiveInterval = 1;
lockCmd = "${pkgs.xsecurelock}/bin/xsecurelock";
xautolock.extraOptions = [ "Xautolock.killer: systemctl suspend" ];
};
}

View File

@@ -0,0 +1,9 @@
{ config, lib, pkgs, ... }:
{
# Import general Configs
imports = [ ./configuration.nix ];
# Hostname
networking.hostName = "eliasDesktop";
}

View File

@@ -0,0 +1,19 @@
{ config, lib, pkgs, ... }:
{
# Import general Configs
imports = [ ./../configuration.nix ];
# Hostname
networking.hostName = "eliasLaptop";
hardware.pulseaudio.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = true;
settings.General = {
Enable = "Source,Sink,Media,Socket";
Experimental = true;
};
};
services.blueman.enable = true;
}

View File

@@ -0,0 +1,9 @@
{ ... }:
{
programs.steam = {
enable = true;
remotePlay.openFirewall = true;
dedicatedServer.openFirewall = true;
};
}