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; + }; +}