[feat] Add some stuff
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
14
common/tuifeed.nix
Normal 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";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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"
|
||||||
];
|
];
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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
51
modules/tuifeed.nix
Normal 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;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
};
|
||||||
|
}
|
||||||
79
overlays.nix
79
overlays.nix
@@ -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
|
||||||
'';
|
'';
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user