diff --git a/TODO-SERVER.md b/TODO-SERVER.md
new file mode 100644
index 0000000..f804053
--- /dev/null
+++ b/TODO-SERVER.md
@@ -0,0 +1,7 @@
+# HTML "Hello World"
+
+# Domain
+
+- Hetzner
+
+# Mail Server
diff --git a/TODOS.md b/TODOS.md
new file mode 100644
index 0000000..8789c7f
--- /dev/null
+++ b/TODOS.md
@@ -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
diff --git a/configuration-laptop.nix b/configuration-laptop.nix
new file mode 100644
index 0000000..35a4a07
--- /dev/null
+++ b/configuration-laptop.nix
@@ -0,0 +1,9 @@
+{ config, lib, pkgs, ... }:
+
+{
+ # Import general Configs
+ imports = [ ./configuration.nix ];
+
+ # Hostname
+ networking.hostName = "eliasLaptop";
+}
diff --git a/configuration.nix b/configuration.nix
index 115a504..313bb20 100644
--- a/configuration.nix
+++ b/configuration.nix
@@ -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;
diff --git a/flake.nix b/flake.nix
index 0dc0bf6..ac40d25 100644
--- a/flake.nix
+++ b/flake.nix
@@ -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: {
diff --git a/home/TODOS.md b/home/TODOS.md
deleted file mode 100644
index 4197839..0000000
--- a/home/TODOS.md
+++ /dev/null
@@ -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
diff --git a/home/default-desktop.nix b/home/default-desktop.nix
new file mode 100644
index 0000000..1b47fc7
--- /dev/null
+++ b/home/default-desktop.nix
@@ -0,0 +1,5 @@
+{ config, pkgs, ... }:
+
+{
+ imports = [ ./programs/default-desktop.nix ./services ./default.nix ];
+}
diff --git a/home/default-laptop.nix b/home/default-laptop.nix
new file mode 100644
index 0000000..5bf6811
--- /dev/null
+++ b/home/default-laptop.nix
@@ -0,0 +1,5 @@
+{ config, pkgs, ... }:
+
+{
+ imports = [ ./programs/default-laptop.nix ./services ./default.nix ];
+}
diff --git a/home/default.nix b/home/default.nix
index 6f3d1fe..03eb52e 100644
--- a/home/default.nix
+++ b/home/default.nix
@@ -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;
}
diff --git a/home/programs/alacritty/default.nix b/home/programs/alacritty/default.nix
index f2e0456..fe1f12b 100644
--- a/home/programs/alacritty/default.nix
+++ b/home/programs/alacritty/default.nix
@@ -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 {
diff --git a/home/programs/anki.nix b/home/programs/anki/default.nix
similarity index 100%
rename from home/programs/anki.nix
rename to home/programs/anki/default.nix
diff --git a/home/programs/audacity/default.nix b/home/programs/audacity/default.nix
new file mode 100644
index 0000000..71869e5
--- /dev/null
+++ b/home/programs/audacity/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, ... }:
+
+{
+ home.packages = with pkgs; [ audacity ];
+}
diff --git a/home/programs/default-desktop.nix b/home/programs/default-desktop.nix
new file mode 100644
index 0000000..569dae5
--- /dev/null
+++ b/home/programs/default-desktop.nix
@@ -0,0 +1 @@
+{ imports = [ ./default.nix ./audacity ]; }
diff --git a/home/programs/default-laptop.nix b/home/programs/default-laptop.nix
new file mode 100644
index 0000000..955b1e3
--- /dev/null
+++ b/home/programs/default-laptop.nix
@@ -0,0 +1 @@
+{ imports = [ ./default.nix ]; }
diff --git a/home/programs/default.nix b/home/programs/default.nix
index c45319b..d34234d 100644
--- a/home/programs/default.nix
+++ b/home/programs/default.nix
@@ -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
];
}
diff --git a/home/programs/discord.nix b/home/programs/discord/default.nix
similarity index 100%
rename from home/programs/discord.nix
rename to home/programs/discord/default.nix
diff --git a/home/programs/element.nix b/home/programs/element/default.nix
similarity index 70%
rename from home/programs/element.nix
rename to home/programs/element/default.nix
index 0ae6add..e25dd67 100644
--- a/home/programs/element.nix
+++ b/home/programs/element/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, ... }:
+{ pkgs, config, ... }:
{
home.packages = with pkgs; [ element-desktop ];
diff --git a/home/programs/git.nix b/home/programs/git/default.nix
similarity index 100%
rename from home/programs/git.nix
rename to home/programs/git/default.nix
diff --git a/home/programs/ktouch.nix b/home/programs/ktouch.nix
deleted file mode 100644
index 4b99284..0000000
--- a/home/programs/ktouch.nix
+++ /dev/null
@@ -1,5 +0,0 @@
-{ pkgs, ... }:
-
-{
- home.programs = with pkgs.libsForQt5; [ ktouch ];
-}
diff --git a/home/programs/ktouch/default.nix b/home/programs/ktouch/default.nix
new file mode 100644
index 0000000..bf75273
--- /dev/null
+++ b/home/programs/ktouch/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, ... }:
+
+{
+ home.packages = with pkgs.libsForQt5; [ ktouch ];
+}
diff --git a/home/programs/libreoffice/default.nix b/home/programs/libreoffice/default.nix
new file mode 100644
index 0000000..8ae598d
--- /dev/null
+++ b/home/programs/libreoffice/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, lib, ... }:
+
+{
+ home.packages = with pkgs; [ libreoffice-qt hunspell hunspellDicts.de_DE ];
+}
diff --git a/home/programs/nemo/default.nix b/home/programs/nemo/default.nix
new file mode 100644
index 0000000..2c301bc
--- /dev/null
+++ b/home/programs/nemo/default.nix
@@ -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";
+ };
+}
diff --git a/home/programs/neovim/default.nix b/home/programs/neovim/default.nix
index 34074a7..2c9f77d 100644
--- a/home/programs/neovim/default.nix
+++ b/home/programs/neovim/default.nix
@@ -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
diff --git a/home/programs/planify.nix b/home/programs/planify/default.nix
similarity index 100%
rename from home/programs/planify.nix
rename to home/programs/planify/default.nix
diff --git a/home/programs/signal.nix b/home/programs/signal/default.nix
similarity index 100%
rename from home/programs/signal.nix
rename to home/programs/signal/default.nix
diff --git a/home/programs/spotify/app.toml b/home/programs/spotify/app.toml
new file mode 100644
index 0000000..1fe970b
--- /dev/null
+++ b/home/programs/spotify/app.toml
@@ -0,0 +1 @@
+theme = "Catppuccin-mocha"
diff --git a/home/programs/spotify/default.nix b/home/programs/spotify/default.nix
new file mode 100644
index 0000000..c8d1d08
--- /dev/null
+++ b/home/programs/spotify/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, ... }:
+
+{
+ home.packages = with pkgs; [ spotify ];
+}
diff --git a/home/programs/spotify/theme-catppuccin.toml b/home/programs/spotify/theme-catppuccin.toml
new file mode 100644
index 0000000..2054873
--- /dev/null
+++ b/home/programs/spotify/theme-catppuccin.toml
@@ -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"] }
diff --git a/home/programs/telegram.nix b/home/programs/telegram/default.nix
similarity index 100%
rename from home/programs/telegram.nix
rename to home/programs/telegram/default.nix
diff --git a/home/programs/thunderbird/default.nix b/home/programs/thunderbird/default.nix
index 7215190..d86b5ed 100644
--- a/home/programs/thunderbird/default.nix
+++ b/home/programs/thunderbird/default.nix
@@ -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; };
+ };
};
};
}
diff --git a/home/programs/background_temp.jpeg b/home/programs/wallpaper/background_temp.jpeg
similarity index 100%
rename from home/programs/background_temp.jpeg
rename to home/programs/wallpaper/background_temp.jpeg
diff --git a/home/programs/wallpaper.nix b/home/programs/wallpaper/default.nix
similarity index 57%
rename from home/programs/wallpaper.nix
rename to home/programs/wallpaper/default.nix
index 83be94a..71bc65d 100644
--- a/home/programs/wallpaper.nix
+++ b/home/programs/wallpaper/default.nix
@@ -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"
+ '';
}
diff --git a/home/programs/xmonad/src/xmobar/xmobar.hs b/home/programs/xmonad/src/xmobar/xmobar.hs
index d410df6..19abc43 100644
--- a/home/programs/xmonad/src/xmobar/xmobar.hs
+++ b/home/programs/xmonad/src/xmobar/xmobar.hs
@@ -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 \"$Symbol $Volume% $MicOut\""] "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 \"$Symbol $Volume% $MicOut\""] "audio" 10
--Run $ Com "/bin/sh" ["-c", "Status=$(pulseaudio-ctl full-status);
-- Volume=$(cut -d ' ' -f 1 <<<$Status);
-- Mute=$(cut -d ' ' -f 2 <<<$Status);
diff --git a/home/programs/zathura.nix b/home/programs/zathura/default.nix
similarity index 100%
rename from home/programs/zathura.nix
rename to home/programs/zathura/default.nix
diff --git a/home/programs/zoom/default.nix b/home/programs/zoom/default.nix
new file mode 100644
index 0000000..8285284
--- /dev/null
+++ b/home/programs/zoom/default.nix
@@ -0,0 +1,5 @@
+{ pkgs, ... }:
+
+{
+ home.packages = with pkgs; [ zoom-us ];
+}
diff --git a/home/programs/zsh/default.nix b/home/programs/zsh/default.nix
index e92412c..4cedf00 100644
--- a/home/programs/zsh/default.nix
+++ b/home/programs/zsh/default.nix
@@ -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
diff --git a/home/services/betterlockscreen/default.nix b/home/services/betterlockscreen/default.nix
new file mode 100644
index 0000000..316b500
--- /dev/null
+++ b/home/services/betterlockscreen/default.nix
@@ -0,0 +1,8 @@
+{ ... }:
+
+{
+ services.betterlockscreen = {
+ enable = true;
+ arguments = [ "blur" ];
+ };
+}
diff --git a/home/services/default.nix b/home/services/default.nix
index e929b23..48bc445 100644
--- a/home/services/default.nix
+++ b/home/services/default.nix
@@ -1,5 +1,5 @@
{ pkgs, ... }:
{
- imports = [ ./ssh-agent.nix ./gpg-agent.nix ./xscreenlocker.nix ];
+ imports = [ ./ssh-agent ./gpg-agent ./betterlockscreen ];
}
diff --git a/home/services/gpg-agent.nix b/home/services/gpg-agent/default
similarity index 100%
rename from home/services/gpg-agent.nix
rename to home/services/gpg-agent/default
diff --git a/home/services/gpg-agent/default.nix b/home/services/gpg-agent/default.nix
new file mode 100644
index 0000000..b9921d2
--- /dev/null
+++ b/home/services/gpg-agent/default.nix
@@ -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
+ '';
+ };
+}
+
diff --git a/home/services/ssh-agent.nix b/home/services/ssh-agent/default.nix
similarity index 100%
rename from home/services/ssh-agent.nix
rename to home/services/ssh-agent/default.nix
diff --git a/home/services/xscreenlocker.nix b/home/services/xscreenlocker.nix
deleted file mode 100644
index c19e060..0000000
--- a/home/services/xscreenlocker.nix
+++ /dev/null
@@ -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" ];
- };
-}
-
diff --git a/machines/configuration-desktop.nix b/machines/configuration-desktop.nix
new file mode 100644
index 0000000..29d9d15
--- /dev/null
+++ b/machines/configuration-desktop.nix
@@ -0,0 +1,9 @@
+{ config, lib, pkgs, ... }:
+
+{
+ # Import general Configs
+ imports = [ ./configuration.nix ];
+
+ # Hostname
+ networking.hostName = "eliasDesktop";
+}
diff --git a/machines/configuration-laptop.nix b/machines/configuration-laptop.nix
new file mode 100644
index 0000000..270c44c
--- /dev/null
+++ b/machines/configuration-laptop.nix
@@ -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;
+}
diff --git a/program-packages/steam/default.nix b/program-packages/steam/default.nix
new file mode 100644
index 0000000..3663946
--- /dev/null
+++ b/program-packages/steam/default.nix
@@ -0,0 +1,9 @@
+{ ... }:
+
+{
+ programs.steam = {
+ enable = true;
+ remotePlay.openFirewall = true;
+ dedicatedServer.openFirewall = true;
+ };
+}