[feat] Add some stuff

This commit is contained in:
uttarayan21
2024-03-17 02:45:41 +05:30
parent 6f1cb3da8f
commit e0dffb350d
7 changed files with 177 additions and 34 deletions

View File

@@ -2,17 +2,20 @@
programs.firefox = { programs.firefox = {
enable = device.isLinux; enable = device.isLinux;
profiles.default = { profiles.default = {
userChrome = let userChrome =
let
csshacks = pkgs.fetchFromGitHub { csshacks = pkgs.fetchFromGitHub {
owner = "MrOtherGuy"; owner = "MrOtherGuy";
repo = "firefox-csshacks"; repo = "firefox-csshacks";
rev = "master"; rev = "master";
sha256 = "sha256-XJ+MTEADzOsCIh0I8EAxbtIpDHfMJsN68sKBy7/1l60="; sha256 = "sha256-XJ+MTEADzOsCIh0I8EAxbtIpDHfMJsN68sKBy7/1l60=";
}; };
in '' in
@import url(${csshacks}/chrome/toolbars_below_content.css); /* css */
@import url(${csshacks}/chrome/scrollable_menupopups.css); ''
@import url(${csshacks}/chrome/linux_gtk_window_control_patch.css); /* @import url(${csshacks}/chrome/toolbars_below_content.css); */
/* @import url(${csshacks}/chrome/scrollable_menupopups.css); */
/* @import url(${csshacks}/chrome/linux_gtk_window_control_patch.css); */
''; '';
extensions = with pkgs.nur.repos.rycee.firefox-addons; [ extensions = with pkgs.nur.repos.rycee.firefox-addons; [
privacy-badger privacy-badger

View File

@@ -5,10 +5,16 @@
./wezterm.nix ./wezterm.nix
./nvim.nix ./nvim.nix
./goread.nix ./goread.nix
./tuifeed.nix
] ++ lib.optionals device.isLinux [ ../linux ]; ] ++ lib.optionals device.isLinux [ ../linux ];
home.packages = with pkgs; home.packages = with pkgs;
[ [
tuifeed
russ
picat
spotdl
davis
music-player music-player
pandoc pandoc
gnupg gnupg

14
common/tuifeed.nix Normal file
View File

@@ -0,0 +1,14 @@
{ ... }: {
imports = [ ../modules/tuifeed.nix ];
programs.tuifeed = {
enable = true;
config = {
sources = {
"r/rust" = "https://www.reddit.com/r/rust/.rss";
"thesquareplanet" = "https://thesquareplanet.com/feed.xml";
"Jon Gjengset (YouTube)" = "https://www.youtube.com/feeds/videos.xml?channel_id=UC_iD0xppBwwsrM9DegC5cQQ";
};
};
};
}

View File

@@ -8,8 +8,8 @@
systemd.target = "hyprland-session.target"; systemd.target = "hyprland-session.target";
settings.preload = wallpapers.all; settings.preload = wallpapers.all;
settings.wallpapers = { settings.wallpapers = {
"DP-4" = wallpapers.frieren_3; "DP-3" = wallpapers.frieren_3;
"DP-2" = wallpapers.shapes; "DP-1" = wallpapers.shapes;
}; };
}; };
wayland.windowManager.hyprland = { wayland.windowManager.hyprland = {
@@ -19,8 +19,8 @@
source = "${pkgs.catppuccinThemes.hyprland}/themes/mocha.conf"; source = "${pkgs.catppuccinThemes.hyprland}/themes/mocha.conf";
monitor = [ monitor = [
",preferred,auto,auto" ",preferred,auto,auto"
"DP-4, 2560x1440@170, 0x0, 1, transform, 0" "DP-3, 2560x1440@170, 0x0, 1, transform, 0"
"DP-2, 2560x1440@170, -1440x-800,1, transform, 1" "DP-1, 2560x1440@170, -1440x-800,1, transform, 1"
",highrr,auto,1" ",highrr,auto,1"
]; ];
@@ -31,7 +31,7 @@
kb_options = "ctrl:nocaps"; kb_options = "ctrl:nocaps";
# kb_rules = ""; # kb_rules = "";
# follow_mouse = 0; follow_mouse = 2;
touchpad = { touchpad = {
natural_scroll = true; natural_scroll = true;
@@ -217,16 +217,16 @@
]; ];
workspace = [ workspace = [
"1, monitor:DP-4" "1, monitor:DP-3"
"2, monitor:DP-4" "2, monitor:DP-3"
"3, monitor:DP-4" "3, monitor:DP-3"
"4, monitor:DP-4" "4, monitor:DP-3"
"5, monitor:DP-4" "5, monitor:DP-3"
"6, monitor:DP-4" "6, monitor:DP-3"
"7, monitor:DP-4" "7, monitor:DP-3"
"8, monitor:DP-2" "8, monitor:DP-1"
"9, monitor:DP-2" "9, monitor:DP-1"
"10, monitor:DP-2" "10, monitor:DP-1"
]; ];
}; };
}; };

View File

@@ -3,7 +3,7 @@
programs.ironbar = { programs.ironbar = {
enable = true; enable = true;
config.monitors = { config.monitors = {
DP-2 = { DP-1 = {
position = "bottom"; position = "bottom";
start = [ start = [
{ {
@@ -28,7 +28,7 @@
{ type = "clock"; } { type = "clock"; }
]; ];
}; };
DP-4 = { DP-3 = {
position = "bottom"; position = "bottom";
icon_theme = "Papirus-Dark"; icon_theme = "Papirus-Dark";
end = [ end = [

51
modules/tuifeed.nix Normal file
View File

@@ -0,0 +1,51 @@
{ pkgs, config, lib, ... }:
with lib;
let
cfg = config.programs.tuifeed;
tomlFormat = pkgs.formats.toml { };
in
{
options = {
programs.tuifeed = {
enable = mkEnableOption "tuifeed - a terminal RSS/Atom reader";
config = with types; {
sources = mkOption {
type = attrsOf str;
default = { };
description = ''
Urls that will be fetched ~/.config/tuifeed/urls.yml
'';
example = { };
};
article_title = mkOption {
type = attrsOf bool;
default = {
"show-author" = true;
"show-timestamp" = true;
};
description = ''
Urls that will be fetched ~/.config/tuifeed/urls.yml
'';
example = { };
};
};
};
};
config = {
home.packages = mkIf cfg.enable [ pkgs.tuifeed ];
xdg.configFile = mkIf cfg.enable {
"tuifeed/config.toml".source = tomlFormat.generate "tuifeed-config" {
sources = cfg.config.sources;
"article-title" = cfg.config.article_title;
};
};
};
}

View File

@@ -24,13 +24,81 @@ let
checkPhase = null; checkPhase = null;
}; };
music-player-git = inputs.music-player.packages.${prev.system}.default; music-player-git = inputs.music-player.packages.${prev.system}.default;
davis =
let
davis-src = final.pkgs.fetchFromGitHub {
owner = "SimonPersson";
repo = "davis";
rev = "main";
sha256 = "sha256-p4l1nF6M28OyIaPorgsyR7NJtmVwpmuws67KvVnJa8s";
};
cargoToml =
builtins.fromTOML (builtins.readFile "${davis-src}/Cargo.toml");
in
final.rustPlatform.buildRustPackage {
pname = cargoToml.package.name;
version = cargoToml.package.version;
src = davis-src;
cargoLock = { lockFile = "${davis-src}/Cargo.lock"; };
buildPhase = ''
runHook cargoBuildHook
runHook cargoInstallPostBuildHook
'';
runtimeInputs = [ final.pkgs.picat ];
buildInputs = [ final.pkgs.picat ];
installPhase = ''
mkdir -p $out/bin
cp $bins $out/bin
cp $src/subcommands/cur/davis-cur-vertical $out/bin
cp $src/subcommands/cur/davis-cur-horizontal $out/bin
cp $src/subcommands/cover/davis-cover $out/bin
'';
};
picat =
let
# https://github.com/SimonPersson/picat
picat-src = final.pkgs.fetchFromGitHub {
owner = "SimonPersson";
repo = "picat";
rev = "main";
sha256 = "sha256-HheBinHW4RLjRtiE8Xe5BoEuSCdtZTA9XkRJgtDkXaM";
};
cargoToml =
builtins.fromTOML (builtins.readFile "${picat-src}/Cargo.toml");
in
final.rustPlatform.buildRustPackage {
pname = cargoToml.package.name;
version = cargoToml.package.version;
src = picat-src;
cargoLock = { lockFile = "${picat-src}/Cargo.lock"; };
};
# russ =
# let
# src = final.pkgs.fetchFromGitHub {
# owner = "ckampfe";
# repo = "russ";
# rev = "master";
# sha256 = "sha256-WJ/arI1zwt5UJNxo3MowKxof4wjROhgoRcfEYqWkYB8";
# };
# cargoToml = builtins.fromTOML (builtins.readFile "${src}/Cargo.toml");
# in
# final.pkgs.rustPlatform.buildRustPackage rec {
# pname = cargoToml.package.name;
# version = cargoToml.package.version;
# inherit src;
# doCheck = false;
# cargoLock = { lockFile = "${src}/Cargo.lock"; };
# };
}; };
anyrun-overlay = final: prev: { anyrun-overlay = final: prev: {
anyrun = inputs.anyrun.packages.${prev.system}.anyrun; anyrun = inputs.anyrun.packages.${prev.system}.anyrun;
hyprwin = inputs.anyrun-hyprwin.packages.${prev.system}.hyprwin; hyprwin = inputs.anyrun-hyprwin.packages.${prev.system}.hyprwin;
nixos-options = nixos-options = inputs.anyrun-nixos-options.packages.${prev.system}.default;
inputs.anyrun-nixos-options.packages.${prev.system}.default;
anyrun-rink = inputs.anyrun-rink.packages.${prev.system}.default; anyrun-rink = inputs.anyrun-rink.packages.${prev.system}.default;
}; };
vimPlugins = final: prev: { vimPlugins = final: prev: {
@@ -89,14 +157,15 @@ let
}; };
}; };
catppuccinThemes = final: prev: { catppuccinThemes = final: prev: {
catppuccinThemes = catppuccinThemes = import ./themes/catppuccin.nix { pkgs = final.pkgs; };
import ./themes/catppuccin.nix { pkgs = final.pkgs; };
}; };
nix-index-db = (final: prev: { nix-index-db = (final: prev: {
nix-index-database = final.runCommandLocal "nix-index-database" { } '' nix-index-database = final.runCommandLocal "nix-index-database" { } ''
mkdir -p $out mkdir -p $out
ln -s ${inputs.nix-index-database.legacyPackages.${prev.system}.database} $out/files ln -s ${
inputs.nix-index-database.legacyPackages.${prev.system}.database
} $out/files
''; '';
}); });