Moved bar to quickshell

This commit is contained in:
agryphus 2025-02-09 21:34:23 -05:00
parent ab0a71784e
commit 5a3a18f9f7
30 changed files with 971 additions and 206 deletions

View file

@ -1,8 +1,6 @@
{ config, pkgs, ... }:
let
# # Only allowing unfree for a useUasm yazi fix. Remove once patched.
# nixos-unstable = (import <nixos-unstable> {config.allowUnfree = true;});
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
in {
# Nix settings
@ -31,17 +29,17 @@ in {
];
};
i18n.defaultLocale = "en_US.UTF-8";
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "en_US.UTF-8";
LC_ADDRESS = "en_US.UTF-8";
LC_IDENTIFICATION = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
LC_MEASUREMENT = "en_US.UTF-8";
LC_MONETARY = "en_US.UTF-8";
LC_NAME = "en_US.UTF-8";
LC_NUMERIC = "en_US.UTF-8";
LC_PAPER = "en_US.UTF-8";
LC_TELEPHONE = "en_US.UTF-8";
LC_TIME = "en_US.UTF-8";
};
fonts.packages = with pkgs; [
@ -150,7 +148,6 @@ in {
openconnect # Connect to VPNs
pass-nodmenu # CLI password store (without dmenu dependency)
pinentry-curses # Terminal-based pinentry program
python311 # Python
socat # Interact with sockets
stow # Simlink farm (used for dotfile management)
tldr # Brief info about a command
@ -179,10 +176,16 @@ in {
nix-prefetch-git # Like nix-prefetch-url, but for git
nvd # See diffs between builds
# Pop into an environment abiding by the Filesystem Hierarchy Standard to run
# applications which do not play nicely with NixOS.
(
let
# Custom overlays. See below for explanations
fhs-run
python-common
];
nixpkgs.overlays = [
(self: super: {
# Pop into an environment abiding by the Filesystem Hierarchy Standard
# to run applications which do not play nicely with NixOS.
fhs-run = pkgs.buildFHSUserEnv {
name = "fhs-run";
targetPkgs = pkgs: [];
@ -192,35 +195,14 @@ in {
eval "$@" # Execute whatever arguments
'';
};
in
fhs-run
)
# Defining an environment to run "make" with the proper libraries installed
# "make", in the main environment, references the script, which envokes the
# environment, and passes the args to gnumake.
(
let
make-shell = pkgs.buildEnv {
name = "make-shell";
paths = with pkgs; [
# Tools
gnumake
pkg-config
# Libraries
harfbuzz
xorg.libX11.dev
xorg.libXft
xorg.libXinerama
];
};
in
(pkgs.writeScriptBin "make" ''
#!/usr/bin/env sh
nix-shell -p ${make-shell} --run "make $*"
'')
)
# When evoking the command `python` from outside a shell, it runs the
# commands inside a nix shell containing common python packages that I
# always want to be available.
python-common = pkgs.python3.withPackages (ps: with ps; [
requests
]);
})
];
nixpkgs.config.packageOverrides = pkgs: {

View file

@ -1,103 +0,0 @@
{ lib
, stdenv
, buildNpmPackage
, fetchFromGitLab
, nodePackages
, meson
, pkg-config
, ninja
, gobject-introspection
, gtk3
, libpulseaudio
, gjs
, wrapGAppsHook
, upower
, gnome
, gtk-layer-shell
, glib-networking
, networkmanager
, libdbusmenu-gtk3
, gvfs
, libsoup_3
, libnotify
, pam
, extraPackages ? [ ]
, version ? "git"
, buildTypes ? false
}:
let
gvc-src = fetchFromGitLab {
domain = "gitlab.gnome.org";
owner = "GNOME";
repo = "libgnome-volume-control";
rev = "8e7a5a4c3e51007ce6579292642517e3d3eb9c50";
sha256 = "sha256-FosJwgTCp6/EI6WVbJhPisokRBA6oT0eo7d+Ya7fFX8=";
};
in
stdenv.mkDerivation rec {
pname = "ags";
inherit version;
src = buildNpmPackage {
name = pname;
src = ../.;
dontBuild = true;
npmDepsHash = "sha256-ucWdADdMqAdLXQYKGOXHNRNM9bhjKX4vkMcQ8q/GZ20=";
installPhase = ''
mkdir $out
cp -r * $out
'';
};
mesonFlags = builtins.concatLists [
(lib.optional buildTypes "-Dbuild_types=true")
];
prePatch = ''
mkdir -p ./subprojects/gvc
cp -r ${gvc-src}/* ./subprojects/gvc
'';
postPatch = ''
chmod +x post_install.sh
patchShebangs post_install.sh
'';
nativeBuildInputs = [
pkg-config
meson
ninja
nodePackages.typescript
wrapGAppsHook
gobject-introspection
];
buildInputs = [
gjs
gtk3
libpulseaudio
upower
gnome.gnome-bluetooth
gtk-layer-shell
glib-networking
networkmanager
libdbusmenu-gtk3
gvfs
libsoup_3
libnotify
pam
] ++ extraPackages;
meta = with lib; {
description = "A customizable and extensible shell";
homepage = "https://github.com/Aylur/ags";
platforms = [ "x86_64-linux" "aarch64-linux" ];
license = licenses.gpl3;
meta.maintainers = [ lib.maintainers.Aylur ];
};
}

View file

@ -6,6 +6,7 @@ let
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
hyprland_nightly = (import flake-compat {
src = builtins.fetchGit {
ref = "main";
url = "https://github.com/hyprwm/Hyprland.git";
submodules = true;
};
@ -24,11 +25,10 @@ in {
hyprland = { # Dynamic tiling window manager
enable = true;
xwayland.enable = true;
package = nixos-unstable.hyprland.override(o: {
aquamarine = nixos-unstable.aquamarine;
});
# package = nixos-unstable.hyprland;
# package = hyprland_nightly.packages.${pkgs.stdenv.hostPlatform.system}.hyprland;
};
nm-applet.enable = true;
};
systemd.user.services = {
@ -41,16 +41,16 @@ in {
serviceConfig.Restart = "always";
serviceConfig.RestartSec = 1;
};
network-manager-applet = {
description = "Start the network manager applet";
after = [ "graphical-session.target" ];
requires = [ "graphical-session.target" ];
wantedBy = [ "graphical-session.target" ];
serviceConfig.Type = "forking";
serviceConfig.Restart = "always";
serviceConfig.RestartSec = 1;
serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
};
# network-manager-applet = {
# description = "Start the network manager applet";
# after = [ "graphical-session.target" ];
# requires = [ "graphical-session.target" ];
# wantedBy = [ "graphical-session.target" ];
# serviceConfig.Type = "forking";
# serviceConfig.Restart = "always";
# serviceConfig.RestartSec = 1;
# serviceConfig.ExecStart = "${pkgs.networkmanagerapplet}/bin/nm-applet";
# };
};
environment.systemPackages = with pkgs; [
@ -63,6 +63,7 @@ in {
grimblast # Allows freezing screen
grim # Screenshot tool
hicolor-icon-theme # Icons
hypridle # Do commands upon user idle
hyprland-autoname-workspaces # Add icons to workspace titles
hyprlock # Screen locking utility
hyprpaper
@ -70,7 +71,7 @@ in {
kanshi # Autorandr substitute
libnotify # Send messages to notification daemon
libreoffice # MSOffice btfo
networkmanagerapplet # Wifi dropdown menu
# networkmanagerapplet # Wifi dropdown menu
networkmanager_dmenu # Manage wifi with dmenu
nsxiv # Image viewer
nwg-displays
@ -80,6 +81,7 @@ in {
rofi-pass # Rofi frontend for password store
sassc # SCSS interpreter
slurp # Screen selection utility
st
swaylock # Wayland session locker
swww # Sets background images
texlive.combined.scheme-full # LaTeX to create documents
@ -94,6 +96,7 @@ in {
xwaylandvideobridge # Allows screensharing from XWayland programs
xorg.xcursorthemes
zathura # Minimalist PDF reader
zen-browser
# GTK Themes
lxappearance-gtk2 # Theme switcher
@ -101,10 +104,28 @@ in {
];
nixpkgs.overlays = [
(self: super: {
(final: prev: {
hyprland-autoname-workspaces = nixos-unstable.hyprland-autoname-workspaces;
waybar = nixos-unstable.waybar;
typst = nixos-unstable.typst;
# typst = (import flake-compat {
# src = builtins.fetchGit {
# url = "https://github.com/typst/typst.git";
# };
# }).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default;
zen-browser = (import flake-compat {
src = builtins.fetchGit {
url = "https://github.com/0xc000022070/zen-browser-flake.git";
};
}).outputs.packages.${pkgs.stdenv.hostPlatform.system}.default;
st = prev.st.overrideAttrs (o: {
src = /home/vince/.config/st;
buildInputs = o.buildInputs ++ (with pkgs; [
# Extra libraries needed to build patches
harfbuzz
imlib2
]);
});
})
];
}