about summary refs log tree commit diff stats
path: root/home-manager
diff options
context:
space:
mode:
authorene <ene@sils.li>2023-02-19 22:54:29 +0100
committerene <ene@sils.li>2023-02-19 22:54:29 +0100
commit6d3f7c681f57a46d88fa279d06e1d78d7754cd09 (patch)
tree393e4feb108bc9934d23869602dfbc19b2a49172 /home-manager
parentFeat(lib): Import my system library (diff)
downloadnixos-config-6d3f7c681f57a46d88fa279d06e1d78d7754cd09.tar.gz
nixos-config-6d3f7c681f57a46d88fa279d06e1d78d7754cd09.zip
Feat(home-manager): Actually deploy the packages
Diffstat (limited to 'home-manager')
-rw-r--r--home-manager/packages/default.nix117
1 files changed, 54 insertions, 63 deletions
diff --git a/home-manager/packages/default.nix b/home-manager/packages/default.nix
index b78441c7..5548797d 100644
--- a/home-manager/packages/default.nix
+++ b/home-manager/packages/default.nix
@@ -55,7 +55,7 @@ with pkgs; let
     ];
 
     Backups = [
-      rclone # Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage
+      # TODO rclone # Sync files to and from Google Drive, S3, Swift, Cloudfiles, Dropbox and Google Cloud Storage
     ];
 
     Misc = [
@@ -70,47 +70,38 @@ with pkgs; let
 
       CLITools = [
         lswt # List Wayland toplevels
-        wlopm # Wayland output power management.
-        wlr-randr # Utility to manage outputs
         wl-clipboard # Command-line copy/paste utilities
-        # DONE        gammastep # Adjust the color temperature of your screen according to your surroundings.
+        # DONE wlopm # Wayland output power management.
+        # DONE wlr-randr # Utility to manage outputs
       ];
 
       Components = [
-        yambar # status panel
-        swaybg # Wallpaper
-        # DONE        mako # notification daemon
-        bemenu # Run prompt
+        # DONE yambar # status panel
+        # DONE swaybg # Wallpaper
+        # DONE bemenu # Run prompt
       ];
 
       Media = [
-        slurp # Select a region (used in the coordinates for grim/maim)
-        grim # Screenshot utility
+        # TODO slurp # Select a region (used in the coordinates for grim/maim)
+        # TODO grim # Screenshot utility
         #maim # Screenshot utility
         wf-recorder # Screen recorder
       ];
-
     };
 
     LF = {
-      Functions = [
-        # TODO        broot # Fuzzy Search + tree + cd
-        xdragon # Simple drag-and-drop source/sink
-        trash-cli # Command line trashcan (recycle bin) interface
-      ];
-
       Previewer = [
-        chafa # Image-to-text converter
-        highlight # source code highlighter
-        mediainfo # Supplies technical and tag information about a video or audio file
-        w3m # Text-based Web browser as well as pager
-        ffmpegthumbnailer # video thumbnailer that can be used by file managers
+        # TODO chafa # Image-to-text converter
+        # TODO highlight # source code highlighter
+        # TODO mediainfo # Supplies technical and tag information about a video or audio file
+        # TODO w3m # Text-based Web browser as well as pager
+        # TODO ffmpegthumbnailer # video thumbnailer that can be used by file managers
       ];
     };
 
     Media = {
       Download = [
-        yt-dlp # A youtube-dl fork with additional features and fixes
+        # TODO yt-dlp # A youtube-dl fork with additional features and fixes
         #cclive # Commandline downloader for popular video websites.
       ];
 
@@ -120,27 +111,18 @@ with pkgs; let
 
       View = [
         imv # Image viewer
-        # DONE        mpv # media player
       ];
 
       Listen = [
         moc # An ncurses console audio player designed to be powerful and easy to use
         pavucontrol # PulseAudio Volume Control
-        #pipewire-alsa # Low-latency audio/video router and processor - ALSA configuration
-        #pipewire-jack # Low-latency audio/video router and processor - JACK support
-        #pipewire-pulse # Low-latency audio/video router and processor - PulseAudio replacement
       ];
     };
 
     Hardware = {
-      Boot = [
-        #efibootmgr # Linux user-space application to modify the EFI Boot Manager
-        #grub # GNU GRand Unified Bootloader (2)
-      ];
-
       Storage = [
-        compsize # Calculate compression ratio of a set of files on Btrfs
-        smartmontools # Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives
+        #        compsize # Calculate compression ratio of a set of files on Btrfs
+        # TODO        smartmontools # Control and monitor S.M.A.R.T. enabled ATA and SCSI Hard Drives
       ];
 
       Input = [
@@ -148,43 +130,21 @@ with pkgs; let
       ];
 
       Printer = [
-        # DONE        gutenprint # Top quality printer drivers for POSIX systems
-        # DONE        sane-airscan # SANE - SANE backend for AirScan (eSCL) and WSD document scanners
+        # TODO        sane-airscan # SANE - SANE backend for AirScan (eSCL) and WSD document scanners
       ];
     };
 
-    Zsh = [
-      # DONE      #zsh # A very advanced and programmable command interpreter (shell) for UNIX
-      # DONE      #zsh-syntax-highlighting # Fish shell like syntax highlighting for Zsh
-    ];
-
-    CoreUtils = [
-      #      file # File type identification utility
-      #grep # A string search utility
-      #      sudo # Give certain users the ability to run some commands as root
-      #      wget # Network utility to retrieve files from the Web
-      #      which # A utility to show the full path of commands
-    ];
-
     FileListers = [
       tree # A directory listing program displaying a depth indented list of files
-      #      findutils # GNU utilities to locate files
       fd # Simple, fast and user-friendly alternative to find
       ripgrep # A search tool that combines the usability of ag with the raw speed of grep
     ];
 
-    UnCompressors = [
-      zip # Compressor/archiver for creating and modifying zipfiles
-      gzip # GNU compression utility
-      p7zip # Command-line file archiver with high compression ratio
-      unzip # For extracting and viewing files in .zip archives
-    ];
-
     Editors = [
       ed # A POSIX-compliant line-oriented text editor
       #sed # GNU stream editor
       #vi # The original ex/vi text editor # TODO
-      neovim # Fork of Vim aiming to improve user experience, plugins, and GUIs
+      # DONE neovim # Fork of Vim aiming to improve user experience, plugins, and GUIs
     ];
 
     Programming = {
@@ -239,13 +199,44 @@ with pkgs; let
   };
   #expect # A tool for automating interactive applications
   #handlr # Powerful alternative to xdg-utils written in Rust
-  #linux # The Linux kernel and modules
-  #linux-firmware # Firmware files for Linux
   #packagekit-qt5 # Qt5 bindings for PackageKit
   #vulkan-radeon # Radeon's Vulkan mesa driver
   #xorg-bdftopcf # Convert X font from Bitmap Distribution Format to Portable Compiled Format
+
+  mapFun = x:
+    if builtins.isAttrs x
+    then
+      if lib.isDerivation x
+      then [x]
+      else builtins.attrValues x
+    else [x];
 in {
-  home.packages = [
-    snap-sync-pkgs
-  ];
+  nixpkgs.config.allowUnfreePredicate = pkg:
+    builtins.elem (lib.getName pkg) [
+      "steam"
+      "steam-original"
+    ];
+  home.packages =
+    [
+      snap-sync-pkgs
+    ]
+    ++ (with builtins;
+      concatLists
+      (concatLists [
+        (concatMap mapFun
+          (concatMap mapFun
+            (concatMap mapFun
+              (concatMap mapFun
+                (concatMap mapFun
+                  (concatMap mapFun
+                    (attrValues Gui)))))))
+
+        (concatMap mapFun
+          (concatMap mapFun
+            (concatMap mapFun
+              (concatMap mapFun
+                (concatMap mapFun
+                  (concatMap mapFun
+                    (attrValues TuiCli)))))))
+      ]));
 }