Compare commits

...

4 Commits

Author SHA1 Message Date
henrov 073d8687ca Added system to traveldroid/top.nix and removed hardware.nix from the
same
2026-03-06 23:07:45 +01:00
henrov d1056a9f60 first test-build 2026-03-06 23:01:13 +01:00
henrov 690ab55e10 Added basic hyprland with custom bindings.conf 2026-03-06 22:57:30 +01:00
henrov 345884eaee Recreated all the nixes 2026-03-06 22:38:25 +01:00
91 changed files with 1991 additions and 1133 deletions
+784 -868
View File
File diff suppressed because it is too large Load Diff
+78 -20
View File
@@ -439,7 +439,7 @@ This code defines the machine to build. Just search and replace traveldroid to p
} }
#+END_SRC #+END_SRC
* Now we reach the top of the hierarchiy which will call all other imports * Now we reach the top of the hierarchy which will call all other imports
** =generated/top.nix= ** =generated/top.nix=
The ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure. The ./generated/top.nix file acts as an anchor or entry point for the entire chain of imports in the pyramid structure.
@@ -461,20 +461,6 @@ The ./generated/top.nix file acts as an anchor or entry point for the entire cha
} }
#+END_SRC #+END_SRC
** =generated/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder
#+BEGIN_SRC nix :tangle generated/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./hyprland/top.nix
./mangowc/top.nix
./system/top.nix
];
# .. put any code here
}
#+END_SRC
** =generated/hyprland/top.nix= ** =generated/hyprland/top.nix=
This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder
#+BEGIN_SRC nix :tangle generated/hyprland/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/top.nix :noweb tangle :mkdirp yes :eval never-html
@@ -490,7 +476,73 @@ This is top file of this level which contains the bare necessities for this subj
./task_window_workspace_switcher/top.nix ./task_window_workspace_switcher/top.nix
./window_rules/top.nix ./window_rules/top.nix
]; ];
# .. put any code here
# Nix settings to use Hyprland's cache for packages
# This allows Nix to download pre-built packages from the Hyprland cache,
# which can speed up the installation process and ensure compatibility.
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
};
# Enable essential services for a Wayland session
services.dbus.enable = true; # D-Bus is required for inter-process communication
services.pipewire = {
enable = true;
alsa.enable = true; # Basic audio support using ALSA
pulse.enable = true; # PulseAudio support for better audio management
wireplumber.enable = true; # Audio device management and routing
};
# XDG Desktop Portal settings for better application integration
# The XDG Desktop Portal provides a way for applications to interact with the desktop environment.
xdg.portal = {
enable = true;
config.common.default = [ "hyprland" "gtk" ]; # Use Hyprland and GTK as default portal implementations
};
# Environment variables for a Wayland session with Hyprland
# These variables help applications understand the desktop environment and session type.
environment.sessionVariables = {
XDG_SESSION_TYPE = "wayland"; # Use Wayland instead of X11 for the session
XDG_CURRENT_DESKTOP = "Hyprland"; # Define the current desktop environment as Hyprland
XCURSOR_SIZE = "24"; # Set the size of the mouse cursor to 24 pixels
};
# Install Hyprland and enable it as the window manager
# Here, we're only installing the Hyprland package itself for a minimal setup.
environment.systemPackages = with pkgs; [ hyprland ];
# Configure Hyprland as the window manager
# This section enables Hyprland as the window manager and sets basic configurations.
programs.hyprland = {
enable = true; # Start Hyprland as the window manager
xwayland.enable = true; # Enable XWayland to run X11 applications within the Wayland session
};
# Home-manager configuration for user-specific settings
# Home-manager is used to manage user-specific configurations and packages.
home-manager = {
# Enable Hyprland as the Wayland window manager for the user session
wayland.windowManager.hyprland = {
enable = true; # Enable Hyprland as the window manager for the user
settings = {
# Minimal configuration, customize later as needed
# This is where you would add custom keybinds, workspace settings, etc.
};
};
# XDG portal settings for user sessions
# These settings ensure that applications can interact properly with the Hyprland session.
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; # Hyprland-specific portal implementation
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; # Enable screencasting support
};
};
}
} }
#+END_SRC #+END_SRC
@@ -612,11 +664,17 @@ This is top file of this level which contains the bare necessities for this subj
This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder This is top file of this level which contains the bare necessities for this subject + an import statement for all the subfolder in this folder
#+BEGIN_SRC nix :tangle generated/hyprland/keyboard_binds/top.nix :noweb tangle :mkdirp yes :eval never-html #+BEGIN_SRC nix :tangle generated/hyprland/keyboard_binds/top.nix :noweb tangle :mkdirp yes :eval never-html
{ config, pkgs, lib, user, inputs, ... }: { config, pkgs, lib, user, inputs, ... }:
let
# Read the contents of the bindings.conf file
bindingsContent = builtins.readFile ./assets/hyprland/conf/bindings.conf;
# Create a configuration file from the bindings content
configFile = pkgs.writeText "hyprland.conf" bindingsContent;
in
{ {
imports = [ wayland.windowManager.hyprland = {
# No subfolders to import enable = true; # Enable Hyprland as the window manager
]; config = configFile; # Use the generated configuration file
# .. put any code here };
} }
#+END_SRC #+END_SRC
@@ -1,11 +1,20 @@
{ config, pkgs, lib, user, inputs, ... }: {
config,
pkgs,
lib,
user,
inputs,
...
}:
{ {
# Import all other configurations # Import all other configurations
imports = [ imports = [
./hardware-configuration.nix ./hardware-configuration.nix
]; ];
# Minimal settings that must be defined here
networking.hostName = "traveldroid"; # Minimal settings that must be defined here
wm.type = "hyprland"; # Define the window manager type here, mangowc will be made possible in the nerar future. networking.hostName = "traveldroid";
# In generated/top.nix the chpice fopr a window manager will be effectuated system = "x86_64-linux"; # Define the system explicitly
wm.type = "hyprland"; # Define the window manager type here, mangowc will be made possible in the nerar future.
# In generated/top.nix the chpice fopr a window manager will be effectuated
} }
+150
View File
@@ -0,0 +1,150 @@
$mainMod = SUPER
# use walker to show exec menu
bind = $mainMod, Space , exec, walker
bind = $mainMod, P, pseudo
bind = $mainMod, T, togglesplit
# grimblast
bind = $mainMod SHIFT, p, exec, grimblast -n -f copysave active
bind = $mainMod SHIFT, a, exec, grimblast -n -f copysave area
bind = $mainMod ALT, p, exec, grimblast -n -f copysave output
bind = $mainMod CTRL, p, exec, grimblast -n -f copysave screen
# Terminal / launcher / kill / reload
bind = $mainMod, E, exec, thunar
bind = $mainMod, RETURN, exec, kitty
bind = $mainMod, D, exec, wofi --show drun
bind = $mainMod, Q, killactive,
bind = $mainMod SHIFT, Q, exit,
bind = $mainMod SHIFT, R, exec, hyprctl reload
# Switch windows
bind = ALT, TAB, cyclenext,
# bind = ALT SHIFT, TAB, cyclenext prev
# Hyprscrolling
bind = $mainMod, period, layoutmsg, move +col
bind = $mainMod, comma, layoutmsg, swapcol l
# Make / break a tab-group (stack)
bind = $mainMod, S, togglegroup
# Cycle tabs in the group
bind = $mainMod, L, changegroupactive, f
bind = $mainMod, H, changegroupactive, b
bind = $mainMod, T, exec, ~/.config/hypr/scripts/toggle-layout-scrolling-dwindle.sh
# Focus movement
bind = $mainMod, H, movefocus, l
bind = $mainMod, L, movefocus, r
bind = $mainMod, K, movefocus, u
bind = $mainMod, J, movefocus, d
bind = $mainMod, left, movefocus, l
bind = $mainMod, right, movefocus, r
bind = $mainMod, up, movefocus, u
bind = $mainMod, down, movefocus, d
# Move windows
bind = $mainMod SHIFT, H, movewindow, l
bind = $mainMod SHIFT, L, movewindow, r
bind = $mainMod SHIFT, K, movewindow, u
bind = $mainMod SHIFT, J, movewindow, d
bind = $mainMod SHIFT, left, movewindow, l
bind = $mainMod SHIFT, right, movewindow, r
bind = $mainMod SHIFT, up, movewindow, u
bind = $mainMod SHIFT, down, movewindow, d
# Resize windows
bind = $mainMod CTRL, H, resizeactive, -30 0
bind = $mainMod CTRL, L, resizeactive, 30 0
bind = $mainMod CTRL, K, resizeactive, 0 -30
bind = $mainMod CTRL, J, resizeactive, 0 30
# Floating / fullscreen
bind = $mainMod, V, togglefloating,
bind = $mainMod, F, fullscreen, 0
bind = $mainMod SHIFT, F, fullscreen, 1
# Workspaces
bind = $mainMod, 1, workspace, 1
bind = $mainMod, 2, workspace, 2
bind = $mainMod, 3, workspace, 3
bind = $mainMod, 4, workspace, 4
bind = $mainMod, 5, workspace, 5
bind = $mainMod, 6, workspace, 6
bind = $mainMod, 7, workspace, 7
bind = $mainMod, 8, workspace, 8
bind = $mainMod, 9, workspace, 9
bind = $mainMod, 0, workspace, 10
bind = $mainMod SHIFT, 1, movetoworkspace, 1
bind = $mainMod SHIFT, 2, movetoworkspace, 2
bind = $mainMod SHIFT, 3, movetoworkspace, 3
bind = $mainMod SHIFT, 4, movetoworkspace, 4
bind = $mainMod SHIFT, 5, movetoworkspace, 5
bind = $mainMod SHIFT, 6, movetoworkspace, 6
bind = $mainMod SHIFT, 7, movetoworkspace, 7
bind = $mainMod SHIFT, 8, movetoworkspace, 8
bind = $mainMod SHIFT, 9, movetoworkspace, 9
bind = $mainMod SHIFT, 0, movetoworkspace, 10
# Cycle workspaces
bind = $mainMod, mouse_down, workspace, e+1
bind = $mainMod, mouse_up, workspace, e-1
# Mouse drag
bindm = $mainMod, mouse:272, movewindow
bindm = $mainMod, mouse:273, resizewindow
#########################
# Screenshots
#########################
bind = $mainMod SHIFT, s, exec, grim -g "$(slurp)" - | wl-copy
bind = , XF86Screenshot, exec, grim - | wl-copy
#########################
# Audio (pamixer)
#########################
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
bind = , XF86AudioMute, exec, pamixer -t
bind = , XF86AudioMicMute, exec, pamixer --default-source -t
#########################
# Media (playerctl)
#########################
bind = , XF86AudioPlay, exec, playerctl play-pause
bind = , XF86AudioPause, exec, playerctl pause
bind = , XF86AudioNext, exec, playerctl next
bind = , XF86AudioPrev, exec, playerctl previous
bind = , XF86AudioStop, exec, playerctl stop
#########################
# Brightness (brightnessctl)
#########################
bind = , XF86MonBrightnessUp, exec, brightnessctl set +10%
bind = , XF86MonBrightnessDown, exec, brightnessctl set 10%-
bind = , XF86KbdBrightnessUp, exec, brightnessctl -d '*kbd_backlight*' set +10%
bind = , XF86KbdBrightnessDown, exec, brightnessctl -d '*kbd_backlight*' set 10%-
#########################
# Power / session
#########################
bind = , XF86Sleep, exec, systemctl suspend
bind = , XF86PowerOff, exec, systemctl poweroff
bind = , XF86WakeUp, exec, systemctl suspend
bind = $mainMod, L, exec, loginctl lock-session
bind = $mainMod, X, exec, ~/.config/hypr/scripts/powermenu.sh
#########################
# Laptop lid settings
#########################
bindl = , switch:on:Lid Switch, exec, ~/.config/hypr/scripts/lid-action.sh
bindl = , switch:off:Lid Switch, exec, ~/.config/hypr/scripts/lid-restore.sh
#########################
# Start apps
#########################
bind = CTRL ALT, B, exec, flatpak run eu.betterbird.Betterbird
bind = CTRL ALT, S, exec, spotify
bind = $mainMod, z, exec, zeditor
bind = $mainMod, w, exec, zen --url https://nextcloud.data-pro.nu
+614
View File
@@ -0,0 +1,614 @@
{
"nodes": {
"aquamarine": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1772292445,
"narHash": "sha256-4F1Q7U313TKUDDovCC96m/Za4wZcJ3yqtu4eSrj8lk8=",
"owner": "hyprwm",
"repo": "aquamarine",
"rev": "1dbbba659c1cef0b0202ce92cadfe13bae550e8f",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "aquamarine",
"type": "github"
}
},
"catppuccin": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1772757591,
"narHash": "sha256-+DyPJcUBXOVu1YiM0mYkEtqYIB9RR0k22NoCaJJ7K2g=",
"owner": "catppuccin",
"repo": "nix",
"rev": "4910a6461a3c4d7ffa56feb4aa4945f3e953f8ec",
"type": "github"
},
"original": {
"owner": "catppuccin",
"repo": "nix",
"type": "github"
}
},
"emacs-overlay": {
"inputs": {
"nixpkgs": [
"nixpkgs"
],
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1772818138,
"narHash": "sha256-Q/zaIhzvvjCN6/oPcOsyljP0LO0RUvB90BSuDNVYNF8=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "594ce4b67cd089110785a9c23731f61767d233d3",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1767039857,
"narHash": "sha256-vNpUSpF5Nuw8xvDLj2KCwwksIbjua2LZCqhV1LNRDns=",
"owner": "NixOS",
"repo": "flake-compat",
"rev": "5edf11c44bc78a0d334f6334cdaf7d60d732daab",
"type": "github"
},
"original": {
"owner": "NixOS",
"repo": "flake-compat",
"type": "github"
}
},
"gitignore": {
"inputs": {
"nixpkgs": [
"hyprland",
"pre-commit-hooks",
"nixpkgs"
]
},
"locked": {
"lastModified": 1709087332,
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
"owner": "hercules-ci",
"repo": "gitignore.nix",
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "gitignore.nix",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1772807318,
"narHash": "sha256-Qjw6ILt8cb2HQQpCmWNLMZZ63wEo1KjTQt+1BcQBr7k=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "daa2c221320809f5514edde74d0ad0193ad54ed8",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "home-manager",
"type": "github"
}
},
"hyprcursor": {
"inputs": {
"hyprlang": [
"hyprland",
"hyprlang"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1753964049,
"narHash": "sha256-lIqabfBY7z/OANxHoPeIrDJrFyYy9jAM4GQLzZ2feCM=",
"owner": "hyprwm",
"repo": "hyprcursor",
"rev": "44e91d467bdad8dcf8bbd2ac7cf49972540980a5",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprcursor",
"type": "github"
}
},
"hyprgraphics": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1770511807,
"narHash": "sha256-suKmSbSk34uPOJDTg/GbPrKEJutzK08vj0VoTvAFBCA=",
"owner": "hyprwm",
"repo": "hyprgraphics",
"rev": "7c75487edd43a71b61adb01cae8326d277aab683",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprgraphics",
"type": "github"
}
},
"hyprland": {
"inputs": {
"aquamarine": "aquamarine",
"hyprcursor": "hyprcursor",
"hyprgraphics": "hyprgraphics",
"hyprland-guiutils": "hyprland-guiutils",
"hyprland-protocols": "hyprland-protocols",
"hyprlang": "hyprlang",
"hyprutils": "hyprutils",
"hyprwayland-scanner": "hyprwayland-scanner",
"hyprwire": "hyprwire",
"nixpkgs": "nixpkgs",
"pre-commit-hooks": "pre-commit-hooks",
"systems": "systems",
"xdph": "xdph"
},
"locked": {
"lastModified": 1772833450,
"narHash": "sha256-XuuvhTD/72mH8MBncTeOyN0JzLCtwav7lkwBQlIofd4=",
"owner": "hyprwm",
"repo": "Hyprland",
"rev": "4152ac76d0813d9d0f67d2f04653a13fa6e17433",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "Hyprland",
"type": "github"
}
},
"hyprland-guiutils": {
"inputs": {
"aquamarine": [
"hyprland",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprtoolkit": "hyprtoolkit",
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1767023960,
"narHash": "sha256-R2HgtVS1G3KSIKAQ77aOZ+Q0HituOmPgXW9nBNkpp3Q=",
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"rev": "c2e906261142f5dd1ee0bfc44abba23e2754c660",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-guiutils",
"type": "github"
}
},
"hyprland-protocols": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1765214753,
"narHash": "sha256-P9zdGXOzToJJgu5sVjv7oeOGPIIwrd9hAUAP3PsmBBs=",
"owner": "hyprwm",
"repo": "hyprland-protocols",
"rev": "3f3860b869014c00e8b9e0528c7b4ddc335c21ab",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprland-protocols",
"type": "github"
}
},
"hyprlang": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771866172,
"narHash": "sha256-fYFoXhQLrm1rD8vSFKQBOEX4OGCuJdLt1amKfHd5GAw=",
"owner": "hyprwm",
"repo": "hyprlang",
"rev": "0b219224910e7642eb0ed49f0db5ec3d008e3e41",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprlang",
"type": "github"
}
},
"hyprtoolkit": {
"inputs": {
"aquamarine": [
"hyprland",
"hyprland-guiutils",
"aquamarine"
],
"hyprgraphics": [
"hyprland",
"hyprland-guiutils",
"hyprgraphics"
],
"hyprlang": [
"hyprland",
"hyprland-guiutils",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprland-guiutils",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprland-guiutils",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"hyprland-guiutils",
"nixpkgs"
],
"systems": [
"hyprland",
"hyprland-guiutils",
"systems"
]
},
"locked": {
"lastModified": 1764592794,
"narHash": "sha256-7CcO+wbTJ1L1NBQHierHzheQGPWwkIQug/w+fhTAVuU=",
"owner": "hyprwm",
"repo": "hyprtoolkit",
"rev": "5cfe0743f0e608e1462972303778d8a0859ee63e",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprtoolkit",
"type": "github"
}
},
"hyprutils": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771271487,
"narHash": "sha256-41gEiUS0Pyw3L/ge1l8MXn61cK14VAhgWB/JV8s/oNI=",
"owner": "hyprwm",
"repo": "hyprutils",
"rev": "340a792e3b3d482c4ae5f66d27a9096bdee6d76d",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprutils",
"type": "github"
}
},
"hyprwayland-scanner": {
"inputs": {
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1770501770,
"narHash": "sha256-NWRM6+YxTRv+bT9yvlhhJ2iLae1B1pNH3mAL5wi2rlQ=",
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"rev": "0bd8b6cde9ec27d48aad9e5b4deefb3746909d40",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwayland-scanner",
"type": "github"
}
},
"hyprwire": {
"inputs": {
"hyprutils": [
"hyprland",
"hyprutils"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1771606233,
"narHash": "sha256-F3PLUqQ/TwgR70U+UeOqJnihJZ2EuunzojYC4g5xHr0=",
"owner": "hyprwm",
"repo": "hyprwire",
"rev": "06c7f1f8c4194786c8400653c4efc49dc14c0f3a",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "hyprwire",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1772198003,
"narHash": "sha256-I45esRSssFtJ8p/gLHUZ1OUaaTaVLluNkABkk6arQwE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "dd9b079222d43e1943b6ebd802f04fd959dc8e61",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1767313136,
"narHash": "sha256-16KkgfdYqjaeRGBaYsNrhPRRENs0qzkQVUooNHtoy2w=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ac62194c3917d5f474c1a844b6fd6da2db95077d",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-25.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_2": {
"locked": {
"lastModified": 1772624091,
"narHash": "sha256-QKyJ0QGWBn6r0invrMAK8dmJoBYWoOWy7lN+UHzW1jc=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "80bdc1e5ce51f56b19791b52b2901187931f5353",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"pre-commit-hooks": {
"inputs": {
"flake-compat": "flake-compat",
"gitignore": "gitignore",
"nixpkgs": [
"hyprland",
"nixpkgs"
]
},
"locked": {
"lastModified": 1772024342,
"narHash": "sha256-+eXlIc4/7dE6EcPs9a2DaSY3fTA9AE526hGqkNID3Wg=",
"owner": "cachix",
"repo": "git-hooks.nix",
"rev": "6e34e97ed9788b17796ee43ccdbaf871a5c2b476",
"type": "github"
},
"original": {
"owner": "cachix",
"repo": "git-hooks.nix",
"type": "github"
}
},
"root": {
"inputs": {
"catppuccin": "catppuccin",
"emacs-overlay": "emacs-overlay",
"home-manager": "home-manager",
"hyprland": "hyprland",
"nixpkgs": "nixpkgs_2",
"zen-browser": "zen-browser"
}
},
"systems": {
"locked": {
"lastModified": 1689347949,
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
"owner": "nix-systems",
"repo": "default-linux",
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default-linux",
"type": "github"
}
},
"xdph": {
"inputs": {
"hyprland-protocols": [
"hyprland",
"hyprland-protocols"
],
"hyprlang": [
"hyprland",
"hyprlang"
],
"hyprutils": [
"hyprland",
"hyprutils"
],
"hyprwayland-scanner": [
"hyprland",
"hyprwayland-scanner"
],
"nixpkgs": [
"hyprland",
"nixpkgs"
],
"systems": [
"hyprland",
"systems"
]
},
"locked": {
"lastModified": 1761431178,
"narHash": "sha256-xzjC1CV3+wpUQKNF+GnadnkeGUCJX+vgaWIZsnz9tzI=",
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"rev": "4b8801228ff958d028f588f0c2b911dbf32297f9",
"type": "github"
},
"original": {
"owner": "hyprwm",
"repo": "xdg-desktop-portal-hyprland",
"type": "github"
}
},
"zen-browser": {
"inputs": {
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1772685307,
"narHash": "sha256-5xthZHeqwBeXNhnRIlxnCuaZLky0SZ6vQsxtd+eqhTU=",
"owner": "youwen5",
"repo": "zen-browser-flake",
"rev": "dc92d88524ee83308795bc90f6a9f1d965265aaa",
"type": "github"
},
"original": {
"owner": "youwen5",
"repo": "zen-browser-flake",
"type": "github"
}
}
},
"root": "root",
"version": 7
}
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,13 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
let
# Read the contents of the bindings.conf file
bindingsContent = builtins.readFile ./assets/hyprland/conf/bindings.conf;
# Create a configuration file from the bindings content
configFile = pkgs.writeText "hyprland.conf" bindingsContent;
in
{ {
imports = [ ./placeholder.nix ]; wayland.windowManager.hyprland = {
enable = true; # Enable Hyprland as the window manager
config = configFile; # Use the generated configuration file
};
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
+80
View File
@@ -0,0 +1,80 @@
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./animations_effects/top.nix
./decorations/top.nix
./keyboard_binds/top.nix
./notifications/top.nix
./statusbar_tray/top.nix
./task_launcher/top.nix
./task_window_workspace_switcher/top.nix
./window_rules/top.nix
];
# Nix settings to use Hyprland's cache for packages
# This allows Nix to download pre-built packages from the Hyprland cache,
# which can speed up the installation process and ensure compatibility.
nix.settings = {
substituters = [ "https://hyprland.cachix.org" ];
trusted-public-keys = [ "hyprland.cachix.org-1:a7pgxzMz7+chwVL3/pzj6jIBMioiJM7ypFP8PwtkuGc=" ];
};
# Enable essential services for a Wayland session
services.dbus.enable = true; # D-Bus is required for inter-process communication
services.pipewire = {
enable = true;
alsa.enable = true; # Basic audio support using ALSA
pulse.enable = true; # PulseAudio support for better audio management
wireplumber.enable = true; # Audio device management and routing
};
# XDG Desktop Portal settings for better application integration
# The XDG Desktop Portal provides a way for applications to interact with the desktop environment.
xdg.portal = {
enable = true;
config.common.default = [ "hyprland" "gtk" ]; # Use Hyprland and GTK as default portal implementations
};
# Environment variables for a Wayland session with Hyprland
# These variables help applications understand the desktop environment and session type.
environment.sessionVariables = {
XDG_SESSION_TYPE = "wayland"; # Use Wayland instead of X11 for the session
XDG_CURRENT_DESKTOP = "Hyprland"; # Define the current desktop environment as Hyprland
XCURSOR_SIZE = "24"; # Set the size of the mouse cursor to 24 pixels
};
# Install Hyprland and enable it as the window manager
# Here, we're only installing the Hyprland package itself for a minimal setup.
environment.systemPackages = with pkgs; [ hyprland ];
# Configure Hyprland as the window manager
# This section enables Hyprland as the window manager and sets basic configurations.
programs.hyprland = {
enable = true; # Start Hyprland as the window manager
xwayland.enable = true; # Enable XWayland to run X11 applications within the Wayland session
};
# Home-manager configuration for user-specific settings
# Home-manager is used to manage user-specific configurations and packages.
home-manager = {
# Enable Hyprland as the Wayland window manager for the user session
wayland.windowManager.hyprland = {
enable = true; # Enable Hyprland as the window manager for the user
settings = {
# Minimal configuration, customize later as needed
# This is where you would add custom keybinds, workspace settings, etc.
};
};
# XDG portal settings for user sessions
# These settings ensure that applications can interact properly with the Hyprland session.
xdg.portal = {
enable = true;
extraPortals = with pkgs; [ xdg-desktop-portal-hyprland ]; # Hyprland-specific portal implementation
config.hyprland = {
"org.freedesktop.impl.portal.Screencast" = [ "hyprland" ]; # Enable screencasting support
};
};
}
}
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
+14
View File
@@ -0,0 +1,14 @@
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./animations_effects/top.nix
./decorations/top.nix
./keyboard_binds/top.nix
./notifications/top.nix
./statusbar_tray/top.nix
./task_launcher/top.nix
./task_window_workspace_switcher/top.nix
./window_rules/top.nix
];
# .. put any code here
}
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -0,0 +1,12 @@
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./accessibility/top.nix
./file_management/top.nix
./gaming/top.nix
./media_playback_editing/top.nix
./office_productivity/top.nix
./terminal_shell/top.nix
];
# .. put any code here
}
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -0,0 +1,11 @@
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./databases/top.nix
./devops_ci_cd/top.nix
./programming_languages/top.nix
./virtualization/top.nix
./web_development/top.nix
];
# .. put any code here
}
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -1,4 +0,0 @@
{ pkgs, user, ... }:
{
# Your configurations here
}
@@ -1,4 +1,7 @@
{ lib, config, pkgs, ... }: { config, pkgs, lib, user, inputs, ... }:
{ {
imports = [ ./placeholder.nix ]; imports = [
# No subfolders to import
];
# .. put any code here
} }
@@ -0,0 +1,19 @@
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./audio/top.nix
./backups/top.nix
./bluetooth/top.nix
./disk_management/top.nix
./hardware_sensors/top.nix
./logging_monitoring/top.nix
./login_manager/top.nix
./monitor_setup/top.nix
./networking/top.nix
./power_management/top.nix
./printers_scanners/top.nix
./security/top.nix
./system_updates/top.nix
];
# .. put any code here
}
+9
View File
@@ -0,0 +1,9 @@
{ config, pkgs, lib, user, inputs, ... }:
{
imports = [
./applications/top.nix
./development/top.nix
./system_management/top.nix
];
# .. put any code here
}