🚀 working version 1.0

refact
pull/2/head
elythh 10 months ago
parent cef5475201
commit c3becce49e

Binary file not shown.

After

Width:  |  Height:  |  Size: 576 KiB

@ -0,0 +1,21 @@
<div align="center">
<h1> nix-home </h1>
<p> wtf am i doing ?</p>
</div>
<div align="center">
![GitHub top language](https://img.shields.io/github/languages/top/elythh/nix-home?color=6d92bf&style=for-the-badge)
![Cool](https://img.shields.io/badge/WM-Awesome-da696f?style=for-the-badge)
![Bloat](https://img.shields.io/badge/Bloated-Yes-c585cf?style=for-the-badge)
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/elythh/nix-home?color=e1b56a&style=for-the-badge)
![GitHub Repo stars](https://img.shields.io/github/stars/elythh/nix-home?color=74be88&style=for-the-badge)
</div>
## I will write this later :)
<img src="assets/nvim.png" alt="nvim">
> **Important**
> 8 months ago

@ -0,0 +1,34 @@
{ lib, buildPythonPackage, fetchFromGitHub, pkgs, ... }:
buildPythonPackage rec {
pname = "imagecolorizer";
version = "git";
preBuild = ''
cat > setup.py << EOF
from setuptools import setup
setup(
name='ImageColorizer',
version='1.2',
packages=['ImageColorizer'],
entry_points={
'console_scripts': ['ImageColorizer = ImageColorizer.__main__:main']
}
)
EOF
'';
propagatedBuildInputs = with pkgs;[
python310Packages.pillow
];
src = fetchFromGitHub {
repo = "ImageColorizer";
owner = "kiddae";
rev = "48623031e3106261093723cd536a4dae74309c5d";
sha256 = "0ai4i3qmk55z3zc2gd8nicgx04pmfxl5wcq43ryy6l4c6gj2ik5r";
};
meta = {
description = "ImageColorizer is a Python module and a CLI tool that you can easily use to colorize wallpapers for them to fit a terminal colorscheme.";
homepage = "https://github.com/kiddae/ImageColorizer";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
};
}

@ -0,0 +1,17 @@
{ lib, fetchFromGitHub, rustPlatform, pkgs }:
rustPlatform.buildRustPackage rec {
pname = "lutgen";
name = "lutgen";
src = fetchFromGitHub {
owner = "ozwaldorf";
repo = "lutgen-rs";
rev = "621db41b10e5a1a923ef67094ce1fc05c618d6ae";
sha256 = "0dwj3cksf62z89ihqnhhxj1wgzjqqwlc40hwdfw18yqwr3byzfxf";
};
nativeBuildInputs = with pkgs;[
cargo
rustc
];
cargoSha256 = "sha256-s5ejGEFMxDg+ENLg0Y1ZXgk2bDyy4H5C7tNMjVEp8kY=";
}

@ -0,0 +1,54 @@
{ stdenvNoCC
, fetchFromGitHub
, nodePackages
, colors
,
}:
stdenvNoCC.mkDerivation rec {
pname = "phocus";
version = "0cf0eb35a927bffcb797db8a074ce240823d92de";
src = fetchFromGitHub {
owner = "phocus";
repo = "gtk";
rev = version;
sha256 = "sha256-URuoDJVRQ05S+u7mkz1EN5HWquhTC4OqY8MqAbl0crk=";
};
patches = [
../patches/npm.diff
../patches/gradients.diff
../patches/substitute.diff
];
postPatch = ''
substituteInPlace scss/gtk-3.0/_colors.scss \
--replace "@bg0@" "#${colors.background}" \
--replace "@bg1@" "#${colors.contrast}" \
--replace "@bg2@" "#${colors.color8}"\
--replace "@bg3@" "#${colors.color0}" \
--replace "@bg4@" "#${colors.comment}" \
--replace "@red@" "#${colors.color1}" \
--replace "@lred@" "#${colors.color9}" \
--replace "@orange@" "#${colors.color3}" \
--replace "@lorange@" "#${colors.color11}" \
--replace "@yellow@" "#${colors.color3}" \
--replace "@lyellow@" "#${colors.color11}" \
--replace "@green@" "#${colors.color2}" \
--replace "@lgreen@" "#${colors.color10}" \
--replace "@cyan@" "#${colors.color6}" \
--replace "@lcyan@" "#${colors.color15}" \
--replace "@blue@" "#${colors.color4}" \
--replace "@lblue@" "#${colors.color12}" \
--replace "@purple@" "#${colors.color5}" \
--replace "@lpurple@" "#${colors.color14}" \
--replace "@pink@" "#${colors.color5}" \
--replace "@lpink@" "#${colors.color14}" \
--replace "@primary@" "#${colors.foreground}" \
--replace "@secondary@" "#${colors.color15}"
'';
nativeBuildInputs = [ nodePackages.sass ];
installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
}

@ -0,0 +1,93 @@
{ lib, buildPythonApplication, fetchFromGitHub, pkgs, ... }:
buildPythonApplication rec {
pname = "spotdl";
version = "4.1.3";
format = "pyproject";
src = fetchFromGitHub {
owner = "spotDL";
repo = "spotify-downloader";
rev = "refs/tags/v${version}";
sha256 = "sha256-XsOecKwSgLWasZw3A4LKSSwEfq93oQM9IrsAIR2M28o=";
};
nativeBuildInputs = with pkgs.python311Packages; [
poetry-core
pythonRelaxDepsHook
];
pythonRelaxDeps = true;
propagatedBuildInputs = with pkgs.python311Packages; [
spotipy
pytube
syncedlyrics
pykakasi
rich
rapidfuzz
mutagen
ytmusicapi
pytube
yt-dlp
mutagen
rich
beautifulsoup4
requests
unidecode
setuptools
rapidfuzz
python-slugify
uvicorn
pydantic
fastapi
platformdirs
];
checkInputs = with pkgs.python311Packages; [
pytest-subprocess
];
# requires networking
doCheck = false;
preCheck = ''
export HOME=$TMPDIR
'';
disabledTestPaths = [
# require networking
"tests/test_init.py"
"tests/test_matching.py"
"tests/utils/test_m3u.py"
"tests/utils/test_metadata.py"
"tests/utils/test_search.py"
];
disabledTests = [
# require networking
"test_album_from_string"
"test_album_from_url"
"test_album_length"
"test_artist_from_url"
"test_artist_from_string"
"test_convert"
"test_download_ffmpeg"
"test_download_song"
"test_playlist_from_string"
"test_playlist_from_url"
"test_playlist_length"
"test_preload_song"
"test_song_from_search_term"
"test_song_from_url"
];
makeWrapperArgs = [
"--prefix" "PATH" ":" (lib.makeBinPath [ pkgs.ffmpeg ])
];
meta = with lib; {
description = "Download your Spotify playlists and songs along with album art and metadata";
homepage = "https://github.com/spotDL/spotify-downloader";
license = licenses.mit;
};
}

@ -1,63 +1,505 @@
{
"nodes": {
"home-manager": {
"crane": {
"inputs": {
"flake-compat": "flake-compat",
"flake-utils": "flake-utils",
"nixpkgs": [
"nixpkgs-f2k",
"nixpkgs"
],
"rust-overlay": "rust-overlay"
},
"locked": {
"lastModified": 1688772518,
"narHash": "sha256-ol7gZxwvgLnxNSZwFTDJJ49xVY5teaSvF7lzlo3YQfM=",
"owner": "ipetkov",
"repo": "crane",
"rev": "8b08e96c9af8c6e3a2b69af5a7fa168750fcf88e",
"type": "github"
},
"original": {
"owner": "ipetkov",
"repo": "crane",
"type": "github"
}
},
"emacs": {
"inputs": {
"flake-utils": "flake-utils_2",
"nixpkgs": "nixpkgs",
"nixpkgs-stable": "nixpkgs-stable"
},
"locked": {
"lastModified": 1690397761,
"narHash": "sha256-ASb0X6WAKAVUZIZOB28KSfGz7FNhuf4MWd9bxaFW7iI=",
"owner": "nix-community",
"repo": "emacs-overlay",
"rev": "2e1e89226ae423cd0b1d33986f8ef1389548fecb",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "emacs-overlay",
"type": "github"
}
},
"fenix": {
"inputs": {
"nixpkgs": [
"nixpkgs-f2k",
"nixpkgs-fmt",
"nixpkgs"
],
"rust-analyzer-src": "rust-analyzer-src"
},
"locked": {
"lastModified": 1637475807,
"narHash": "sha256-E3nzOvlzZXwyo8Stp5upKsTCDcqUTYAFj4EC060A31c=",
"owner": "nix-community",
"repo": "fenix",
"rev": "960e7fef45692a4fffc6df6d6b613b0399bbdfd5",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "fenix",
"type": "github"
}
},
"flake-compat": {
"flake": false,
"locked": {
"lastModified": 1673956053,
"narHash": "sha256-4gtG9iQuiKITOjNQQeQIpoIB6b16fm+504Ch3sNKLd8=",
"owner": "edolstra",
"repo": "flake-compat",
"rev": "35bb57c0c8d8b62bbfd284272c928ceb64ddbde9",
"type": "github"
},
"original": {
"owner": "edolstra",
"repo": "flake-compat",
"type": "github"
}
},
"flake-utils": {
"inputs": {
"systems": "systems"
},
"locked": {
"lastModified": 1687709756,
"narHash": "sha256-Y5wKlQSkgEK2weWdOu4J3riRd+kV/VCgHsqLNTTWQ/0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "dbabf0ca0c0c4bce6ea5eaf65af5cb694d2082c7",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": {
"systems": "systems_2"
},
"locked": {
"lastModified": 1689068808,
"narHash": "sha256-6ixXo3wt24N/melDWjq70UuHQLxGV8jZvooRanIHXw0=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "919d646de7be200f3bf08cb76ae1f09402b6f9b4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_3": {
"locked": {
"lastModified": 1637014545,
"narHash": "sha256-26IZAc5yzlD9FlDT54io1oqG/bBoyka+FJk5guaX4x4=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "bba5dcc8e0b20ab664967ad83d24d64cb64ec4f4",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_4": {
"inputs": {
"systems": "systems_3"
},
"locked": {
"lastModified": 1685518550,
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"home-manager": {
"inputs": {
"nixpkgs": [
"unstable"
]
},
"locked": {
"lastModified": 1687871164,
"narHash": "sha256-bBFlPthuYX322xOlpJvkjUBz0C+MOBjZdDOOJJ+G2jU=",
"lastModified": 1690476848,
"narHash": "sha256-PSmzyuEbMxEn2uwwLYUN2l1psoJXb7jm/kfHD12Sq0k=",
"owner": "nix-community",
"repo": "home-manager",
"rev": "07c347bb50994691d7b0095f45ebd8838cf6bc38",
"rev": "8d243f7da13d6ee32f722a3f1afeced150b6d4da",
"type": "github"
},
"original": {
"owner": "nix-community",
"ref": "release-23.05",
"repo": "home-manager",
"type": "github"
}
},
"nixpkgs": {
"master": {
"locked": {
"lastModified": 1690370995,
"narHash": "sha256-9z//23jGegLJrf3ITStLwVf715O39dq5u48Kr/XW14U=",
"lastModified": 1690498399,
"narHash": "sha256-tQaPJ+F5pAIABp6c5kRU+z878YqiiJDvumxnlHDn2Eo=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "f3fbbc36b4e179a5985b9ab12624e9dfe7989341",
"rev": "503744f5a81076af222f439db28664a8de6ca7f7",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "master",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1690179384,
"narHash": "sha256-+arbgqFTAtoeKtepW9wCnA0njCOyoiDFyl0Q0SBSOtE=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "b12803b6d90e2e583429bb79b859ca53c348b39a",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-f2k": {
"inputs": {
"crane": "crane",
"emacs": "emacs",
"nixpkgs": "nixpkgs_2",
"nixpkgs-fmt": "nixpkgs-fmt",
"parts": "parts"
},
"locked": {
"lastModified": 1690424951,
"narHash": "sha256-p3jhOEYyRODdjD26StpJdxoXoRAAc6kqg0vnnuJOWR0=",
"owner": "fortuneteller2k",
"repo": "nixpkgs-f2k",
"rev": "76cf83c5016125f73bc7b2f5904e0d2f79dff2bf",
"type": "github"
},
"original": {
"owner": "fortuneteller2k",
"repo": "nixpkgs-f2k",
"type": "github"
}
},
"nixpkgs-fmt": {
"inputs": {
"fenix": "fenix",
"flake-utils": "flake-utils_3",
"nixpkgs": [
"nixpkgs-f2k",
"nixpkgs"
]
},
"locked": {
"lastModified": 1687333264,
"narHash": "sha256-tSfLls1bg2oelCQky8QCgpniFDH2OTG/2NycpBkNJKE=",
"owner": "nix-community",
"repo": "nixpkgs-fmt",
"rev": "6d2dee8954cc4e790dede82ddff2aeac4a32da46",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nixpkgs-fmt",
"type": "github"
}
},
"nixpkgs-lib": {
"locked": {
"dir": "lib",
"lastModified": 1688049487,
"narHash": "sha256-100g4iaKC9MalDjUW9iN6Jl/OocTDtXdeAj7pEGIRh4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4bc72cae107788bf3f24f30db2e2f685c9298dc9",
"type": "github"
},
"original": {
"dir": "lib",
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-stable": {
"locked": {
"lastModified": 1690271650,
"narHash": "sha256-qwdsW8DBY1qH+9luliIH7VzgwvL+ZGI3LZWC0LTiDMI=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "6dc93f0daec55ee2f441da385aaf143863e3d671",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-23.05",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs-unstable": {
"nixpkgs_2": {
"locked": {
"lastModified": 1690272529,
"narHash": "sha256-MakzcKXEdv/I4qJUtq/k/eG+rVmyOZLnYNC2w1mB59Y=",
"owner": "nixos",
"lastModified": 1690424904,
"narHash": "sha256-otEYiZHNa7wS/lKeiPbpFiJq3ztK9iIt0rsYPiBxnEs=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "ef99fa5c5ed624460217c31ac4271cfb5cb2502c",
"rev": "4b780d230fc31780445a607a27015caaca699790",
"type": "github"
},
"original": {
"owner": "nixos",
"owner": "NixOS",
"ref": "master",
"repo": "nixpkgs",
"type": "github"
}
},
"nixpkgs_3": {
"locked": {
"lastModified": 1686020360,
"narHash": "sha256-Wee7lIlZ6DIZHHLiNxU5KdYZQl0iprENXa/czzI6Cj4=",
"owner": "NixOS",
"repo": "nixpkgs",
"rev": "4729ffac6fd12e26e5a8de002781ffc49b0e94b7",
"type": "github"
},
"original": {
"owner": "NixOS",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
},
"nur": {
"locked": {
"lastModified": 1690487289,
"narHash": "sha256-Jjf7vzrIqQmRbNY4nagn+tr9IJrKVZZ07ZD5FqgtHe0=",
"owner": "nix-community",
"repo": "NUR",
"rev": "0067f8335088a91c31c5bd0eb4d52511ff5865b8",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "NUR",
"type": "github"
}
},
"parts": {
"inputs": {
"nixpkgs-lib": "nixpkgs-lib"
},
"locked": {
"lastModified": 1688466019,
"narHash": "sha256-VeM2akYrBYMsb4W/MmBo1zmaMfgbL4cH3Pu8PGyIwJ0=",
"owner": "hercules-ci",
"repo": "flake-parts",
"rev": "8e8d955c22df93dbe24f19ea04f47a74adbdc5ec",
"type": "github"
},
"original": {
"owner": "hercules-ci",
"repo": "flake-parts",
"type": "github"
}
},
"root": {
"inputs": {
"home-manager": "home-manager",
"nixpkgs": "nixpkgs",
"nixpkgs-unstable": "nixpkgs-unstable"
"master": "master",
"nixpkgs": [
"unstable"
],
"nixpkgs-f2k": "nixpkgs-f2k",
"nur": "nur",
"spicetify-nix": "spicetify-nix",
"stable": "stable",
"unstable": "unstable"
}
},
"rust-analyzer-src": {
"flake": false,
"locked": {
"lastModified": 1637439871,
"narHash": "sha256-2awQ/obzl7zqYgLwbQL0zT58gN8Xq7n+81GcMiS595I=",
"owner": "rust-analyzer",
"repo": "rust-analyzer",
"rev": "4566414789310acb2617543f4b50beab4bb48e06",
"type": "github"
},
"original": {
"owner": "rust-analyzer",
"ref": "nightly",
"repo": "rust-analyzer",
"type": "github"
}
},
"rust-overlay": {
"inputs": {
"flake-utils": [
"nixpkgs-f2k",
"crane",
"flake-utils"
],
"nixpkgs": [
"nixpkgs-f2k",
"crane",
"nixpkgs"
]
},
"locked": {
"lastModified": 1688351637,
"narHash": "sha256-CLTufJ29VxNOIZ8UTg0lepsn3X03AmopmaLTTeHDCL4=",
"owner": "oxalica",
"repo": "rust-overlay",
"rev": "f9b92316727af9e6c7fee4a761242f7f46880329",
"type": "github"
},
"original": {
"owner": "oxalica",
"repo": "rust-overlay",
"type": "github"
}
},
"spicetify-nix": {
"inputs": {
"flake-utils": "flake-utils_4",
"nixpkgs": "nixpkgs_3"
},
"locked": {
"lastModified": 1686173678,
"narHash": "sha256-aYzl34xb3u9I57sqkvSldQKltCnxhjvvLABjgFRxOVE=",
"owner": "the-argus",
"repo": "spicetify-nix",
"rev": "f024752b691ac2dcb2ad378d72a2e3084ce83b79",
"type": "github"
},
"original": {
"owner": "the-argus",
"repo": "spicetify-nix",
"type": "github"
}
},
"stable": {
"locked": {
"lastModified": 1688392541,
"narHash": "sha256-lHrKvEkCPTUO+7tPfjIcb7Trk6k31rz18vkyqmkeJfY=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ea4c80b39be4c09702b0cb3b42eab59e2ba4f24b",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-22.11",
"repo": "nixpkgs",
"type": "github"
}
},
"systems": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_2": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"systems_3": {
"locked": {
"lastModified": 1681028828,
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
"owner": "nix-systems",
"repo": "default",
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
"type": "github"
},
"original": {
"owner": "nix-systems",
"repo": "default",
"type": "github"
}
},
"unstable": {
"locked": {
"lastModified": 1690272529,
"narHash": "sha256-MakzcKXEdv/I4qJUtq/k/eG+rVmyOZLnYNC2w1mB59Y=",
"owner": "nixos",
"repo": "nixpkgs",
"rev": "ef99fa5c5ed624460217c31ac4271cfb5cb2502c",
"type": "github"
},
"original": {
"owner": "nixos",
"ref": "nixos-unstable",
"repo": "nixpkgs",
"type": "github"
}
}
},

@ -2,57 +2,44 @@
description = "Your new nix config";
inputs = {
# Nixpkgs
nixpkgs.url = "github:nixos/nixpkgs/nixos-23.05";
# You can access packages and modules from different nixpkgs revs
# at the same time. Here's an working example:
nixpkgs-unstable.url = "github:nixos/nixpkgs/nixos-unstable";
# Also see the 'unstable-packages' overlay at 'overlays/default.nix'.
# Home manager
home-manager.url = "github:nix-community/home-manager/release-23.05";
home-manager.inputs.nixpkgs.follows = "nixpkgs";
# TODO: Add any other flake you might need
# hardware.url = "github:nixos/nixos-hardware";
# Shameless plug: looking for a way to nixify your themes and make
# everything match nicely? Try nix-colors!
# nix-colors.url = "github:misterio77/nix-colors";
master.url = "github:nixos/nixpkgs/master";
stable.url = "github:nixos/nixpkgs/nixos-22.11";
unstable.url = "github:nixos/nixpkgs/nixos-unstable";
home-manager.url = "github:nix-community/home-manager";
nur.url = "github:nix-community/NUR";
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
spicetify-nix.url = "github:the-argus/spicetify-nix";
nixpkgs-f2k.url = "github:fortuneteller2k/nixpkgs-f2k";
# Channel to follow.
home-manager.inputs.nixpkgs.follows = "unstable";
nixpkgs.follows = "unstable";
};
outputs = { self, nixpkgs, home-manager, ... }@inputs:
let
inherit (self) outputs;
forAllSystems = nixpkgs.lib.genAttrs [
"aarch64-linux"
"i686-linux"
"x86_64-linux"
"aarch64-darwin"
"x86_64-darwin"
];
forSystems = nixpkgs.lib.genAttrs nixpkgs.lib.systems.flakeExposed;
system = "x86_64-linux";
pkgs = import nixpkgs {
inherit system;
};
in
rec {
# Your custom packages
# Acessible through 'nix build', 'nix shell', etc
packages = forAllSystems (system:
let pkgs = nixpkgs.legacyPackages.${system};
in import ./pkgs { inherit pkgs; }
);
# Devshell for bootstrapping
# Acessible through 'nix develop' or 'nix-shell' (legacy)
devShells = forAllSystems (system:
let pkgs = nixpkgs.legacyPackages.${system};
in import ./shell.nix { inherit pkgs; }
);
# Your custom packages and modifications, exported as overlays
{
overlays = import ./overlays { inherit inputs; };
# Reusable nixos modules you might want to export
# These are usually stuff you would upstream into nixpkgs
nixosModules = import ./modules/nixos;
# Reusable home-manager modules you might want to export
# These are usually stuff you would upstream into home-manager
# host configurations
nixosConfigurations = {
thinkpod = nixpkgs.lib.nixosSystem
{
specialArgs = {
inherit inputs outputs home-manager;
};
modules = [
# > Our main nixos configuration file <
home-manager.nixosModule
./hosts/thinkpad/configuration.nix
];
};
};
homeManagerModules = import ./modules/home-manager;
# NixOS configuration entrypoint
@ -60,14 +47,15 @@
nixosConfigurations = {
# FIXME replace with your hostname
thinkpad = nixpkgs.lib.nixosSystem {
specialArgs = { inherit inputs outputs; };
specialArgs = { inherit inputs outputs home-manager; };
modules = [
home-manager.nixosModule
# > Our main nixos configuration file <
./nixos/configuration.nix
./hosts/thinkpad/configuration.nix
];
};
};
# home-manager = home-manager.packages.${nixpkgs.system}."home-manager";
# Standalone home-manager configuration entrypoint
# Available through 'home-manager --flake .#your-username@your-hostname'
homeConfigurations = {
@ -77,7 +65,7 @@
extraSpecialArgs = { inherit inputs outputs; };
modules = [
# > Our main home-manager configuration file <
./home-manager/home.nix
./home/gwen/home.nix
];
};
};

@ -1,64 +0,0 @@
# This is your home-manager configuration file
# Use this to configure your home environment (it replaces ~/.config/nixpkgs/home.nix)
{ inputs, outputs, lib, config, pkgs, ... }: {
# You can import other home-manager modules here
imports = [
# If you want to use modules your own flake exports (from modules/home-manager):
# outputs.homeManagerModules.example
# Or modules exported from other flakes (such as nix-colors):
# inputs.nix-colors.homeManagerModules.default
# You can also split up your configuration and import pieces of it here:
# ./nvim.nix
];
nixpkgs = {
# You can add overlays here
overlays = [
# Add overlays your own flake exports (from overlays and pkgs dir):
outputs.overlays.additions
outputs.overlays.modifications
outputs.overlays.unstable-packages
# You can also add overlays exported from other flakes:
# neovim-nightly-overlay.overlays.default
# Or define it inline, for example:
# (final: prev: {
# hi = final.hello.overrideAttrs (oldAttrs: {
# patches = [ ./change-hello-to-hi.patch ];
# });
# })
];
# Configure your nixpkgs instance
config = {
# Disable if you don't want unfree packages
allowUnfree = true;
# Workaround for https://github.com/nix-community/home-manager/issues/2942
allowUnfreePredicate = (_: true);
};
};
# TODO: Set your username
home = {
username = "gwen";
homeDirectory = "/home/gwen";
};
# Add stuff for your user as you see fit:
programs.neovim.enable = true;
# home.packages = with pkgs; [ steam ];
# Enable home-manager and git
programs.home-manager.enable = true;
programs.git.enable = true;
# Nicely reload system units when changing configs
systemd.user.startServices = "sd-switch";
# https://nixos.wiki/wiki/FAQ/When_do_I_update_stateVersion
home.stateVersion = "23.05";
}

@ -0,0 +1,6 @@
{}:
{
programs.vscode = {
enable = true;
};
}

@ -0,0 +1,31 @@
{ colors }:
{
home.file.".config/cava/config".text = ''
[general]
bar_width = 1
bar_spacing = 0
[color]
# ncurses output method and a terminal that can change color definitions such as Gnome-terminal or rxvt.
# if supported, ncurses mode will be forced on if user defined colors are used.
# default is to keep current terminal color
;background = default
;foreground = default
# SDL only support hex code colors, these are the default:
;background = '#111111'
; foreground = '#33cccc'
# Gradient mode, only hex defined colors (and thereby ncurses mode) are supported,
# background must also be defined in hex or remain commented out. 1 = on, 0 = off.
# You can define as many as 8 different colors. They range from bottom to top of screen
gradient = 1
gradient_count = 3
gradient_color_1 = '#${colors.color4}'
gradient_color_2 = '#${colors.color5}'
gradient_color_3 = '#${colors.color1}'
'';
}

@ -0,0 +1,38 @@
{ config, pkgs }:
{
services.mpd = {
enable = true;
musicDirectory = "${config.home.homeDirectory}/Music";
dataDir = "${config.home.homeDirectory}/.config/mpd";
extraConfig = ''
auto_update "yes"
restore_paused "yes"
audio_output {
type "pulse"
name "Pulseaudio"
server "127.0.0.1" # add this line - MPD must connect to the local sound server
}
audio_output {
type "fifo"
name "Visualizer"
format "44100:16:2"
path "/tmp/mpd.fifo"
}
audio_output {
type "httpd"
name "lossless"
encoder "flac"
port "8000"
max_client "8"
mixer_type "software"
format "44100:16:2"
}
'';
network.startWhenNeeded = true;
};
imports = [ (import ./misc.nix { inherit pkgs; }) ];
}

@ -0,0 +1,8 @@
{ pkgs, ... }:
{
# Allows mpd to work with playerctl.
home.packages = [ pkgs.playerctl ];
services.mpdris2.enable = true;
services.playerctld.enable = true;
}

@ -0,0 +1,73 @@
{ config, pkgs }:
{
programs.ncmpcpp = {
enable = true;
package = pkgs.ncmpcpp.override {
visualizerSupport = true;
clockSupport = true;
taglibSupport = true;
};
mpdMusicDir = "${config.home.homeDirectory}/Music";
settings = {
# Miscelaneous
ncmpcpp_directory = "${config.home.homeDirectory}/.config/ncmpcpp";
ignore_leading_the = true;
external_editor = "nvim";
message_delay_time = 1;
playlist_disable_highlight_delay = 2;
autocenter_mode = "yes";
centered_cursor = "yes";
allow_for_physical_item_deletion = "no";
lines_scrolled = "0";
follow_now_playing_lyrics = "yes";
lyrics_fetchers = "musixmatch";
# visualizer
visualizer_data_source = "/tmp/mpd.fifo";
visualizer_output_name = "mpd_visualizer";
visualizer_type = "ellipse";
visualizer_look = "";
visualizer_color = "blue, green";
# appearance
colors_enabled = "yes";
playlist_display_mode = "classic";
user_interface = "classic";
volume_color = "white";
# window
song_window_title_format = "Music";
statusbar_visibility = "no";
header_visibility = "no";
titles_visibility = "no";
# progress bar
progressbar_look = "";
progressbar_color = "black";
progressbar_elapsed_color = "blue";
# song list
song_status_format = "$7%t";
song_list_format = "$(008)%t$R $(247)%a$R$5 %l$8";
song_columns_list_format = "(53)[blue]{tr} (45)[blue]{a}";
current_item_prefix = "$b$2| ";
current_item_suffix = "$/b$5";
now_playing_prefix = "$b$5| ";
now_playing_suffix = "$/b$5";
song_library_format = "{{%a - %t} (%b)}|{%f}";
# colors
main_window_color = "blue";
current_item_inactive_column_prefix = "$b$5";
current_item_inactive_column_suffix = "$/b$5";
color1 = "white";
color2 = "blue";
};
};
}

@ -0,0 +1,63 @@
{ colors, spicetify-nix, pkgs }:
let
spicePkgs = spicetify-nix.packages.${pkgs.system}.default;
in
{
imports = [ spicetify-nix.homeManagerModule ];
programs.spicetify =
let
# use a different version of spicetify-themes than the one provided by
# spicetify-nix
officialThemesOLD = pkgs.fetchgit {
url = "https://github.com/spicetify/spicetify-themes";
rev = "b2269a9650b735b955d5b024d69c7a38022d4a7e";
sha256 = "pWMswQJ7uGBPTmlZjdHoBXdVAOr3VKv+PbKZt0+G2Qg=";
};
in
{
enable = true;
enabledExtensions = with spicePkgs.extensions; [
playlistIcons
# spicetify-nix.packages.${pkgs.system}.default.extensions.adblock
genre
historyShortcut
# hidePodcasts
# fullAppDisplay
shuffle
];
colorScheme = "Spotify";
theme = {
name = "text";
src = officialThemesOLD;
appendName = true; # theme is located at "${src}/Dribbblish" not just "${src}"
injectCss = true;
replaceColors = true;
overwriteAssets = true;
sidebarConfig = true;
};
# color definition for custom color scheme. (rosepine)
customColorScheme = with colors;
{
text = "${color7}";
subtext = "${color15}";
sidebar-text = "${color7}";
main = "${background}";
sidebar = "${mbg}";
player = "${bg2}";
card = "${color0}";
shadow = "${color8}";
selected-row = "${color8}";
button = "${color4}";
button-active = "${color4}";
button-disabled = "${color5}";
tab-active = "${color4}";
notification = "${color3}";
notification-error = "${color1}";
misc = "${comment}";
};
};
}

@ -0,0 +1,254 @@
{ config, pkgs, ... }:
{
programs.zsh = {
enable = true;
enableAutosuggestions = true;
syntaxHighlighting.enable = true;
enableCompletion = true;
zplug = {
enable = true;
plugins = [
{ name = "hlissner/zsh-autopair"; }
{ name = "zdharma-continuum/fast-syntax-highlighting"; }
{ name = "MichaelAquilina/zsh-you-should-use"; }
{ name = "Aloxaf/fzf-tab"; }
{ name = "zsh-users/zsh-history-substring-search"; }
];
};
shellAliases = {
nf = "neofetch";
suda = "sudo -E -s";
nix-pkgs = "nix --extra-experimental-features 'nix-command flakes' search nixpkgs";
s = "kitty +kitten ssh";
mirror-update = "sudo reflector - -verbose - c Indonesia - c Japan - -sort rate - -save /etc/pacman.d/mirrorlist ";
mtar = "tar - zcvf"; # mtar <archive_compress>;
utar = "tar - zxvf"; # utar <archive_decompress> <file_list>;
z = "zip -r"; # z <archive_compress> <file_list>
sr = "source ~/.zshrc";
cfg = "cd ~/.config/";
psg = "ps aux | grep - v grep | grep - i - e VSZ - e ";
mkdir = "mkdir -p ";
pacs = " pacman - Slq | fzf - m - -preview 'cat < (pacman - Si { 1}) <(pacman -Fl {1} | awk \"{print \$2}\")' | xargs -ro sudo pacman -S";
pars = "paru -Slq | fzf -m --preview 'cat <(paru -Si {1}) <(paru -Fl {1} | awk \"{print \$2}\")' | xargs -ro paru -S";
pacr = "pacman -Qq | fzf --multi --preview 'pacman -Qi {1}' | xargs -ro sudo pacman -Rns";
p = "pacman -Q | fzf";
wifi = "nmtui-connect";
ls = "exa --color=auto --icons";
l = "ls -l";
la = "ls -a";
lla = "ls -la";
lt = "ls --tree";
cat = "bat --color always --plain";
grep = "grep --color=auto";
v = "nvim";
mv = "mv -v";
cp = "cp -vr";
rm = "rm -vr";
commit = "git add . && git commit -m";
push = "git push";
ga = "git add";
gaa = "git add --all";
gam = "git am";
gama = "git am --abort";
gamc = "git am --continue";
gams = "git am --skip";
gamscp = "git am --show-current-patch";
gap = "git apply";
gapa = "git add --patch";
gapt = "git apply --3way";
gau = "git add --update";
gav = "git add --verbose";
gb = "git branch";
gbD = "git branch -D";
gba = "git branch -a";
gbd = "git branch -d";
gbl = "git blame -b -w";
gbnm = "git branch --no-merged";
gbr = "git branch --remote";
gbs = "git bisect";
gbsb = "git bisect bad";
gbsg = "git bisect good";
gbsr = "git bisect reset";
gbss = "git bisect start";
gc = "git commit -v";
gca = "git commit -v -a";
"gca!" = "git commit -v -a --amend";
gcam = "git commit -a -m";
"gcan!" = "git commit -v -a --no-edit --amend";
"gcans!" = "git commit -v -a -s --no-edit --amend";
gcas = "git commit -a -s";
gcasm = "git commit -a -s -m";
gcb = "git checkout -b";
gcd = "git checkout $(git_develop_branch)";
gcf = "git config --list";
gclr = "git clone --recurse-submodules";
gcl = "git clone";
gcld = "git clone --depth";
gclean = "git clean -id";
gcm = "git checkout $(git_main_branch)";
gcmsg = "git commit -m";
gco = "git checkout";
gcor = "git checkout --recurse-submodules";
gcount = "git shortlog -sn";
gcp = "git cherry-pick";
gcpa = "git cherry-pick --abort";
gcpc = "git cherry-pick --continue";
gcs = "git commit -S";
gcsm = "git commit -s -m";
gcss = "git commit -S -s";
gcssm = "git commit -S -s -m";
gd = "git diff";
gdca = "git diff --cached";
gdct = "git describe --tags $(git rev-list --tags --max-count=1)";
gdcw = "git diff --cached --word-diff";
gds = "git diff --staged";
gdt = "git diff-tree --no-commit-id --name-only -r";
gdup = "git diff @{upstream}";
gdw = "git diff --word-diff";
gf = "git fetch";
gfa = "git fetch --all --prune --jobs=10";
gfg = "git ls-files | grep";
gfo = "git fetch origin";
gg = "git gui citool";
gga = "git gui citool --amend";
ggpull = "git pull origin '$(git_current_branch)'";
ggpush = "git push origin '$(git_current_branch) '";
ggsup = "git branch --set-upstream-to=origin/$(git_current_branch)";
ghh = "git help";
gignore = "git update-index --assume-unchanged";
git-svn-dcommit-push = "git svn dcommit && git push github $(git_main_branch):svntrunk";
gk = "\gitk --all --branches &!";
gke = "\gitk --all $(git log -g --pretty=%h) &!";
gl = "git pull";
glg = "git log --stat";
glgg = "git log --graph";
glgga = "git log --graph --decorate --all";
glgm = "git log --graph --max-count=10";
glgp = "git log --stat -p";
glo = "git log --oneline --decorate";
globurl = "noglob urlglobber ";
glod = "git log - -graph - -pretty='\''%Cred%h%Creset -%C(auto)%d%Creset %s %Cgreen(%ad) %C(bold blue)<%an>%Creset'";
grh = "git reset";
grhh = "git reset - -hard";
grm = "git rm";
grmc = "git rm --cached";
grmv = "git remote rename";
groh = "git reset origin/$(git_current_branch) --hard";
grrm = "git remote remove";
grs = "git restore";
grset = "git remote set-url";
grss = "git restore --source";
grst = "git restore --staged";
gru = "git reset --";
grup = "git remote update";
grv = "git remote -v";
gsb = "git status -sb";
gsd = "git svn dcommit";
gsh = "git show";
gsi = "git submodule init";
gsps = "git show --pretty=short --show-signature";
gsr = "git svn rebase";
gss = "git status -s";
gst = "git status";
gsta = "git stash push";
gstaa = "git stash apply";
gstall = "git stash --all";
gstc = "git stash clear";
gstd = "git stash drop";
gstl = "git stash list";
gstp = "git stash pop";
gsts = "git stash show --text";
gstu = "gsta --include-untracked";
gsu = "git submodule update";
gsw = "git switch";
gswc = "git switch -c";
gswd = "git switch $(git_develop_branch)";
gswm = "git switch $(git_main_branch)";
gtv = " git tag | sort - V ";
gunignore = " git update-index - -no-assume-unchanged ";
gunwip = " git log - n 1 | grep - q - c '\ - \-wip\ - \-' && git reset HEAD~1";
gup = " git pull - -rebase ";
gupa = " git pull - -rebase - -autostash ";
gupav = " git pull - -rebase - -autostash - v ";
gupv = " git pull - -rebase - v ";
gwch = " git whatchanged - p - -abbrev-commit - -pretty=medium";
gwip = "git add -A";
kns = " kubens ";
kcx = " kubectx ";
k = " kubectl ";
kg = " kubectl get ";
kd = " kubectl describe ";
kgp = " kubectl get pods ";
kgns = " kubectl get namespaces ";
kgi = " kubectl get ingress ";
kgall = "kubectl get ingress,service,deployment,pod,statefulset";
kuc = "kubectl config use-context";
kgc = "kubectl config get-contexts";
kex = "kubectl exec -it";
kl = "kubectl logs";
kwatch = "kubectl get pods -w --all-namespaces";
kru = "kubectl rollout restart deployment";
krus = "kubectl rollout restart statefulset";
krud = "kubectl rollout restart daemonset";
};
history = {
expireDuplicatesFirst = true;
save = 512;
};
initExtra = ''
bindkey "^[[H" beginning-of-line
bindkey "^[[4~" end-of-line
bindkey "^[[3~" delete-char
export PATH=${config.home.homeDirectory}/.local/bin:${config.home.homeDirectory}/.local/share/nvim/mason/bin:$PATH
export LD_LIBRARY_PATH=${config.home.homeDirectory}/.config/awesome:${pkgs.lua54Packages.lua}/lib/:${pkgs.pam}/lib
export NIX_CONFIG="experimental-features = nix-command flakes"
'';
};
programs.starship = {
enable = true;
settings = {
format = "$directory$git_branch$git_status$cmd_duration\n[ ](fg:blue) ";
git_branch.format = "via [$symbol$branch(:$remote_branch)]($style) ";
command_timeout = 1000;
};
};
}

@ -0,0 +1,43 @@
{ colors }:
with colors;{
programs.foot = {
enable = true;
settings = {
main = {
font = "Iosevka Nerd Font:size=10";
dpi-aware = "yes";
line-height = 16;
pad = "16x16";
vertical-letter-offset = "3px";
};
mouse = {
hide-when-typing = "no";
};
colors = {
background = "${background}";
foreground = "${foreground}";
regular0 = "${color0}";
regular1 = "${color1}";
regular2 = "${color2}";
regular3 = "${color3}";
regular4 = "${color4}";
regular5 = "${color5}";
regular6 = "${color6}";
regular7 = "${color7}";
bright0 = "${color8}";
bright1 = "${color9}";
bright2 = "${color10}";
bright3 = "${color11}";
bright4 = "${color12}";
bright5 = "${color13}";
bright6 = "${color14}";
bright7 = "${color15}";
};
};
};
}

@ -0,0 +1,74 @@
{ pkgs, colors, ... }:
with colors; {
programs.kitty = {
enable = true;
settings = {
font_family = "Iosevka Nerd Font";
italic_font = "auto";
bold_font = "auto";
bold_italic_font = "auto";
font_size = 12;
disable_ligatures = "never";
confirm_os_window_close = 0;
window_padding_width = 12;
adjust_line_height = 0;
adjust_column_width = 0;
box_drawing_scale = "0.01, 0.8, 1.5, 2";
mouse_hide_wait = 0;
focus_follows_mouse = "no";
# Performance
repaint_delay = 20;
input_delay = 2;
sync_to_monitor = "no";
# Bell
visual_bell_duration = 0;
enable_audio_bell = "no";
bell_on_tab = "yes";
};
extraConfig = ''
modify_font cell_height 120%
click_interval 0.5
cursor_blink_interval 0
modify_font cell_width 87%
background #${colors.background}
foreground #${colors.foreground}
cursor #${colors.foreground}
# Black
color0 #${colors.color0}
color8 #${colors.color0}
# Red
color1 #${colors.color1}
color9 #${colors.color9}
# Green
color2 #${colors.color2}
color10 #${colors.color10}
# Yellow
color3 #${colors.color3}
color11 #${colors.color11}
# Blue
color4 #${colors.color4}
color12 #${colors.color12}
# Magenta
color5 #${colors.color5}
color13 #${colors.color13}
# Cyan
color6 #${colors.color6}
color14 #${colors.color14}
# White
color7 #${colors.color7}
color15 #${colors.color15}
'';
};
}

@ -0,0 +1,63 @@
{ colors, ... }:
with colors; {
followSystem = {
# basic colors
background = "#${background}";
cursor_bg = "#${color8}";
cursor_border = "#${color8}";
cursor_fg = "#${background}";
foreground = "#${foreground}";
selection_bg = "#${color15}";
selection_fg = "#${background}";
split = "#${mbg}";
# base16
ansi = [
"#${color0}"
"#${color1}"
"#${color2}"
"#${color3}"
"#${color4}"
"#${color5}"
"#${color6}"
"#${color7}"
];
brights = [
"#${color8}"
"#${color9}"
"#${color10}"
"#${color11}"
"#${color12}"
"#${color13}"
"#${color14}"
"#${color15}"
];
# tabbar
tab_bar = {
background = "#${color8}";
active_tab = {
bg_color = "#${background}";
fg_color = "#${foreground}";
};
inactive_tab = {
bg_color = "#${color8}";
fg_color = "#${foreground}";
};
inactive_tab_hover = {
bg_color = "#${color0}";
fg_color = "#${foreground}";
};
inactive_tab_edge = "#${color0}";
new_tab = {
bg_color = "#${color8}";
fg_color = "#${color7}";
};
new_tab_hover = {
bg_color = "#${color0}";
fg_color = "#${foreground}";
};
};
};
}

@ -0,0 +1,64 @@
{ pkgs, colors, ... }:
with colors; {
programs.wezterm = {
enable = true;
package = (builtins.getFlake "github:fortuneteller2k/nixpkgs-f2k").packages.${pkgs.system}.wezterm-git;
colorSchemes = import ./colors.nix {
inherit colors;
};
extraConfig = ''
local wez = require('wezterm')
return {
default_prog = { 'zsh' },
-- Performance
--------------
front_end = "OpenGL",
enable_wayland = true,
scrollback_lines = 1024,
-- Fonts
--------
font = wez.font_with_fallback({
"Iosevka Nerd Font",
"Material Design Icons",
}),
dpi = 96.0,
bold_brightens_ansi_colors = true,
font_rules = {
{
italic = true,
font = wez.font("CaskaydiaCove Nerd Font", { italic = true })
}
},
font_antialias = "Subpixel",
font_hinting = "VerticalSubpixel",
font_size = 16.0,
line_height = 1.15,
harfbuzz_features = { 'calt=1', 'clig=1', 'liga=1' },
-- Bling
--------
color_scheme = "followSystem",
window_padding = {
left = "16pt", right = "16pt",
bottom = "16pt", top = "16pt"
},
default_cursor_style = "SteadyUnderline",
enable_scroll_bar = false,
-- Tabbar
---------
enable_tab_bar = true,
use_fancy_tab_bar = false,
hide_tab_bar_if_only_one_tab = true,
show_tab_index_in_tab_bar = false,
-- Miscelaneous
---------------
window_close_confirmation = "NeverPrompt",
inactive_pane_hsb = {
saturation = 1.0, brightness = 0.8
},
check_for_updates = false,
}
'';
};
}

@ -0,0 +1,84 @@
{ colors, pkgs, nixpkgs-f2k, ... }:
{
services.picom = {
enable = true;
#package = nixpkgs-f2k.packages.${pkgs.system}.picom-pijulius;
package = nixpkgs-f2k.packages.${pkgs.system}.picom-ft-labs.overrideAttrs (oldAttrs: {
src = pkgs.fetchFromGitHub {
owner = "fdev31";
repo = "picom";
rev = "7834dd3147ba605bba5cbe911bacfa8b217c37e0";
sha256 = "05cd3yj3lv8nk433v0j2k86mhg72pf5lijkshqwarr8hp3h00cvx";
};
});
activeOpacity = 1.0;
backend = "glx";
fade = true;
fadeDelta = 3;
fadeSteps = [ 0.03 0.03 ];
opacityRules = [
"85:class_g = 'kitty' && !focused"
"93:class_g = 'kitty' && focused"
"85:class_g = 'ncmpcpppad' && !focused"
"93:class_g = 'ncmpcpppad' && focused"
"85:class_g = 'neofetchpad' && !focused"
"93:class_g = 'neofetchpad' && focused"
"100:class_g = 'awesome'"
];
settings = {
animations = true;
animation-stiffness = 300.0;
animation-dampening = 22.0;
animation-clamping = true;
animation-mass = 1;
animation-for-open-window = "zoom";
animation-for-menu-window = "slide-down";
animation-for-transient-window = "slide-down";
animation-for-prev-tag = "zoom";
enable-fading-prev-tag = true;
animation-for-next-tag = "zoom";
enable-fading-next-tag = true;
corner-radius = 12;
shadow = true;
shadow-radius = 15;
shadow-offset-x = -15;
shadow-offset-y = -15;
shadow-exclude = [
"window_type = 'desktop'"
"class_g ~= 'awesome'"
"class_g ~= 'slop'"
];
rounded-corners-exclude = [
"window_type = 'dock'"
"name ~= 'slop'"
"class_i ~= 'slop'"
];
blur-background-exclude = [
"class_g ~= 'slop'"
"window_type = 'desktop'"
"class_g ~= 'discord'"
"class_g ~= 'firefox'"
"class_i ~= 'slop'"
"class_g ~= 'firefox'"
"class_i ~= 'Spotify'"
"name ~= 'slop'"
];
blur = {
method = "dual_kawase";
strength = 5.0;
deviation = 1.0;
kernel = "11x11gaussian";
};
blur-background = false;
blur-background-frame = true;
blur-background-fixed = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
xrender-sync-fence = true;
use-damage = true;
};
};
}

@ -0,0 +1,17 @@
{ config, pkgs, colors, ... }:
{
programs.rofi = {
enable = true;
package = pkgs.rofi-wayland;
font = "Iosevka Nerd Font 12";
extraConfig = {
modi = "drun";
display-drun = "";
show-icons = true;
drun-display-format = "{name}";
sidebar-mode = false;
};
theme = import ./theme.nix { inherit config colors; };
};
}

@ -0,0 +1,73 @@
{ config, colors, ... }:
let inherit (config.lib.formats.rasi) mkLiteral; in
with colors; {
"*" = {
bg = mkLiteral "#${background}";
fg = mkLiteral "#${foreground}";
button = mkLiteral "#${contrast}";
background-color = mkLiteral "@bg";
text-color = mkLiteral "@fg";
};
"#window" = {
transparency = "real";
border-color = mkLiteral "@button";
border-radius = mkLiteral "0px";
border = mkLiteral "2px";
width = mkLiteral "600px";
};
"#mainbox" = {
children = map mkLiteral [ "inputbar" "listview" ];
};
"#inputbar" = {
children = map mkLiteral [ "prompt" "entry" ];
border-radius = mkLiteral "0px 0px 8px 8px";
padding = mkLiteral "10px";
background-color = mkLiteral "@button";
};
"#prompt" = {
enabled = false;
};
"#entry" = {
placeholder = "Search";
placeholder-color = mkLiteral "@fg";
expand = false;
border-radius = mkLiteral "8px";
padding = mkLiteral "1.5%";
background-color = mkLiteral "@button";
};
"#listview" = {
columns = 1;
lines = 6;
cycle = true;
dynamic = true;
layout = mkLiteral "vertical";
padding = mkLiteral "3% 1.5% 3% 1.5%";
};
"#element" = {
orientation = mkLiteral "horizontal";
border-radius = mkLiteral "8px";
padding = mkLiteral "1.5% 0% 1.5% 0%";
};
"#element-text" = {
expand = true;
vertical-align = mkLiteral "0.5";
margin = mkLiteral "5px 2px";
background-color = mkLiteral "inherit";
text-color = mkLiteral "inherit";
};
"#element-icon" = {
background-color = mkLiteral "transparent";
size = mkLiteral "30px";
margin = mkLiteral "0 6px 0 12px";
};
"#element selected" = {
background-color = mkLiteral "@button";
border-radius = mkLiteral "8px";
};
}

@ -0,0 +1,7 @@
{}:
{
services.sxhkd = {
enable = true;
keybindings = { };
};
}

@ -0,0 +1,105 @@
{ inputs, config, pkgs, lib, ... }:
let
spicetify-nix = inputs.spicetify-nix;
colors = import ../shared/cols/verdant.nix { };
unstable = import
(builtins.fetchTarball "https://github.com/nixos/nixpkgs/archive/master.tar.gz")
{
config = config.nixpkgs.config;
};
nixpkgs-f2k = inputs.nixpkgs-f2k;
in
{
# some general info
home.username = "gwen";
home.homeDirectory = "/home/gwen";
home.stateVersion = "23.11";
programs.home-manager.enable = true;
home.file.".icons/default".source =
"${pkgs.phinger-cursors}/share/icons/phinger-cursors";
# gtk themeing
gtk = {
enable = true;
gtk3.extraConfig.gtk-decoration-layout = "menu:";
iconTheme.name = "WhiteSur";
theme.name = "phocus";
};
nixpkgs.overlays = [
];
imports = [
# Importing Configutations
(import ../shared/xresources.nix { inherit colors; })
(import ./conf/utils/rofi/default.nix { inherit config pkgs colors; })
(import ./conf/music/cava/default.nix { inherit colors; })
(import ./conf/shell/zsh/default.nix { inherit config pkgs; })
(import ./conf/term/kitty/default.nix { inherit pkgs colors; })
(import ./conf/editors/vscopium/default.nix { })
(import ./conf/music/spicetify/default.nix { inherit colors spicetify-nix pkgs; })
(import ./conf/utils/sxhkd/default.nix { })
(import ./conf/utils/picom/default.nix { inherit colors pkgs nixpkgs-f2k; })
(import ./conf/music/mpd/default.nix { inherit config pkgs; })
(import ./conf/music/ncmp/default.nix { inherit config pkgs; })
(import ./misc/awesome.nix { inherit pkgs colors; })
(import ./misc/neofetch.nix { inherit config colors; })
(import ./misc/xinit.nix { })
# Bin files
(import ../shared/bin/default.nix { inherit config colors; })
(import ../shared/lock.nix { inherit colors; })
];
home = {
activation = {
installConfig = ''
if [ ! -d "${config.home.homeDirectory}/.config/awesome" ]; then
${pkgs.git}/bin/git clone --depth 1 --branch awesome https://github.com/elythh/nix-home ${config.home.homeDirectory}/.config/awesome
fi
if [ ! -d "${config.home.homeDirectory}/.config/nvim" ]; then
${pkgs.git}/bin/git clone --depth 1 https://git.elyth.xyz/Elyth/nvim ${config.home.homeDirectory}/.config/nvim
fi
'';
};
packages = with pkgs; [
fzf
python310Packages.pip
kubectl
bc
chromium
catimg
xss-lock
chatterino2
playerctl
(pkgs.callPackage ../shared/icons/whitesur.nix { })
(pkgs.callPackage ../../derivs/phocus.nix { inherit colors; })
cinnamon.nemo
neofetch
hsetroot
pfetch
ffmpeg_5-full
neovim
xdg-desktop-portal
imagemagick
xorg.xev
procps
killall
btop
cava
mpdris2
pavucontrol
feh
exa
lazygit
obsidian
bitwarden
];
};
nixpkgs.config = {
allowUnfree = true;
allowBroken = true;
allowUnfreePredicate = _: true;
};
}

@ -0,0 +1,28 @@
{ pkgs, colors }:
{
home.file.".config/awesome/theme/colors.lua".text = ''
local M = {}
M.name = '${colors.name}'
M.ow = '${colors.wallpaper}'
M.wall = '~/.config/awesome/theme/wallpapers/${colors.name}/${colors.wallpaper}'
M.ok = "#${colors.color2}"
M.warn = "#${colors.color3}"
M.err = "#${colors.color1}"
M.pri = "#${colors.color4}"
M.dis = "#${colors.color5}"
M.bg = "#${colors.background}"
M.mbg = "#${colors.mbg}"
M.bg2 = "#${colors.bg2}"
M.bg3 = "#${colors.color0}"
M.bg4 = "#${colors.color8}"
M.fg = "#${colors.foreground}"
M.fg2 = "#${colors.color7}"
M.fg3 = "#${colors.color15}"
M.fg4 = "#${colors.comment}"
M.iconTheme = "${pkgs.whitesur-icon-theme}/share/icons/WhiteSur/"
return M
'';
}

@ -0,0 +1,64 @@
{ config, colors }:
{
home.file.".config/neofetch/config.conf".text = ''
print_info() {
info title
info "\e[34m " os
info "\e[31m " kernel
info "\e[33m " uptime
info "\e[32m " shell
info "\e[35m " wm
prin "$(color 1) $(color 2) $(color 3) $(color 4) $(color 5) $(color 6) "
}
title_fqdn="off"
kernel_shorthand="on"
distro_shorthand="off"
uptime_shorthand="tiny"
memory_percent="off"
memory_unit="mib"
package_managers="off"
shell_path="off"
shell_version="on"
speed_type="bios_limit"
speed_shorthand="off"
cpu_brand="on"
cpu_cores="logical"
refresh_rate="off"
gtk_shorthand="off"
gtk2="on"
gtk3="on"
de_version="on"
bold="off"
underline_enabled="on"
underline_char="_"
separator=" "
color_blocks="on"
block_width=3
block_height=1
col_offset="auto"
bar_char_elapsed="-"
bar_char_total="="
bar_border="on"
bar_length=15
bar_color_elapsed="distro"
bar_color_total="distro"
image_backend="kitty"
image_source="${config.home.homeDirectory}/.config/awesome/theme/pics/neofetch-pics-and-stuff/${colors.neofetchpic}"
image_size="250px"
image_loop="on"
ascii_distro="nixos"
ascii_colors=(distro)
ascii_bold="on"
thumbnail_dir="${config.home.homeDirectory}/.cache/thumbnails/neofetch"
crop_mode="fit"
crop_offset="center"
yoffset=0
xoffset=0
stdout="off"
'';
}

@ -0,0 +1,7 @@
{}:
{
home.file.".xinitrc".text = ''
#!/usr/bin/env bash
exec dbus-run-session awesome
'';
}

@ -0,0 +1,60 @@
{ config, colors, ... }:
{
home = {
file = {
".local/bin/fetch" = {
executable = true;
text = import ./eyecandy/nixfetch.nix { };
};
".local/bin/lut" = {
executable = true;
text = import ./misc/lut.nix { inherit colors; };
};
".local/bin/lcon" = {
executable = true;
text = import ./misc/con.nix { };
};
".local/bin/roundvalue" = {
executable = true;
text = import ./misc/roudnvalue.nix { };
};
".local/bin/setTheme" = {
executable = true;
text = import ./misc/changeTheme.nix { };
};
".local/bin/setWall" = {
executable = true;
text = import ./misc/changeWall.nix { };
};
".local/bin/tiling" = {
executable = true;
text = import ./misc/tiling.nix { };
};
".local/bin/panes" = {
executable = true;
text = import ./eyecandy/panes.nix { };
};
".local/bin/wifimenu" = {
executable = true;
text = import ./rofiscripts/wifi.nix { };
};
".local/bin/powermenu" = {
executable = true;
text = import ./rofiscripts/powermenu.nix { };
};
".local/bin/screenshotmenu" = {
executable = true;
text = import ./rofiscripts/screenshot.nix { };
};
".local/bin/changebrightness" = {
executable = true;
text = import ./notifs/changebrightness.nix { };
};
".local/bin/changevolume" = {
executable = true;
text = import ./notifs/changevolume.nix { };
};
};
};
}

@ -0,0 +1,38 @@
_:
''
#> Syntax: bash
# Colors
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[''${!j}''${i}m"
done
done
d=$'\e[1m'
t=$'\e[0m'
v=$'\e[7m'
# OS Release
os_name=$(cat /etc/os-release | grep -i ID= | grep -v _ | cut -f2 -d '=')
os_vers=$(cat /etc/os-release | grep -i VERSION_ID= | cut -f2 -d '=' | tr -d '\"')
os="$os_name $os_vers"
# Kernel Version
krn=$(cat /proc/version | awk '{print $3}')
# X Session
wm_id=$(xprop -root -notype _NET_SUPPORTING_WM_CHECK | awk '{print $5}')
# Packages
pkgs=$(nix-store -q --requisites /run/current-system/sw | wc -l)
cat << EOF
$f4\\\\ $f6\\\\ //
$f4==\\\\__$f6\\\\/ $f4//
$f6// \\\\$f4//
$f6==// $f4//==
$f6//$f4\\\\$f6 __$f4//
$f6// $f4/\\\\ $f6\\\\==
$f4// \\\\ $f6\\\\
$f4 os $f7.$t $os
$f6 kernel $f7.$t $krn
$f4 de/wm $f7.$t $wm_id
$f6 packages $f7.$t $pkgs
$f0 $f1 $f2 $f3 $f4 $f5 $f6 $f7 $t
EOF
''

@ -0,0 +1,19 @@
_:
''
#> Syntax: bash
f=3 b=4
for j in f b; do
for i in {0..7}; do
printf -v $j$i %b "\e[''${!j}''${i}m"
done
done
d=$'\e[1m'
t=$'\e[0m'
v=$'\e[7m'
cat << EOF
$f0$d$t $f1$d$t $f2$d$t $f3$d$t $f4$d$t $f5$d$t $f6$d$t $f7$d$t
$f0$d$t $f1$d$t $f2$d$t $f3$d$t $f4$d$t $f5$d$t $f6$d$t $f7$d$t
$f0$d$t $f1$d$t $f2$d$t $f3$d$t $f4$d$t $f5$d$t $f6$d$t $f7$d$t
$d$f0 $d$f1 $f2 $f3 $f4 $f5 $f6 $f7$t
EOF
''

@ -0,0 +1,10 @@
_:
''
#!/usr/bin/env sh
THEME=$1
sed -i "5s/.*/ colors = import ..\/shared\/cols\/$THEME.nix { };/g" /etc/nixos/home/gwen/home.nix
cd /etc/nixos && home-manager switch --flake ".#$USER"
echo $THEME > /tmp/themeName
kill -USR1 $(pidof st)
awesome-client 'awesome.restart()'
''

@ -0,0 +1,11 @@
_:
''
#!/usr/bin/env sh
notify-send "Process Started" "Now Set As A Temporary Wall! Wait Some Time For Permanent Effect"
WALL=$1
SCHEME=$2
sed -i "3s/.*/ wallpaper = \"$1\"; /g" /etc/nixos/home/shared/cols/$SCHEME.nix
cd /etc/nixos && home-manager switch --flake ".#$USER"
notify-send "Process Finished" "You can restart awesome to check the changes"
''

@ -0,0 +1,10 @@
_:
''
#!/usr/bin/env bash
mkdir -p converted
find . -depth -name "* *" -execdir rename " " "_" "{}" ";"
for file in ./*
do
lut "$file" "./converted/$file"
done
''

@ -0,0 +1,6 @@
{ colors }:
''
#!/usr/bin/env sh
lutgen apply $1 -o $2 -- ${colors.background} ${colors.foreground} ${colors.color1} ${colors.color2} ${colors.color3} ${colors.color4} ${colors.color5} ${colors.color6} ${colors.color7} ${colors.color8} ${colors.color9} ${colors.color10} ${colors.color11} ${colors.color12} ${colors.color13} ${colors.color14} ${colors.color15} ${colors.cursorline} ${colors.bg2} ${colors.comment}
''

@ -0,0 +1,6 @@
_:
''
#!/usr/bin/env bash
value=$1
echo "($value+0.5)/1" | bc
''

@ -0,0 +1,26 @@
_:
''
#!/usr/bin/env bash
stat=$(pidof autotiling-rs)
toggle() {
if [[ -n $stat ]]; then
pkill autotiling-rs
else
autotiling-rs &
fi
}
icon() {
if [[ -n $stat ]]; then
echo "󰙀"
else
echo "󰜨"
fi
}
if [[ $1 == "--toggle" ]]; then
toggle
elif [[ $1 == "--icon" ]]; then
icon
fi
''

@ -0,0 +1,20 @@
_:
''
#!/usr/bin/env bash
function send_notification() {
brightness=$(printf "%.0f\n" $(brillo -G))
notify-send -a "Bright" -u low -r 9991 -h int:value:"$brightness" -i "brightness-$1" "Brightness: $brightness%" -t 2000
}
case $1 in
up)
brightnessctl s 5+
send_notification $1
;;
down)
brightnessctl s 5-
send_notification $1
;;
esac
''

@ -0,0 +1,31 @@
_:
''
#!/usr/bin/env bash
function send_notification() {
volume=$(pamixer --get-volume)
dunstify -a "Volume" -u low -r "9993" -h int:value:"$volume" -i "volume-$1" "Volume: $volume%" -t 2000
}
case $1 in
up)
# Set the volume on (if it was muted)
pamixer -u
pamixer -i 5
send_notification $1
;;
down)
pamixer -u
pamixer -d 5
send_notification $1
;;
mute)
pamixer -t
if $(pamixer --get-mute); then
dunstify -i volume-mute -a "changevolume" -t 2000 -r 9993 -u low "Muted"
else
send_notification up
fi
;;
esac
''

@ -0,0 +1,16 @@
_:
''
#!/usr/bin/env bash
chosen=$(printf " Power Off\n Restart\n Suspend\n Hibernate\n Log Out\n Lock" | rofi -dmenu -i)
case "$chosen" in
" Power Off") poweroff ;;
" Restart") reboot ;;
" Suspend") systemctl suspend-then-hibernate ;;
" Hibernate") systemctl hibernate ;;
" Log Out") loginctl kill-user $USER ;;
" Lock") swaylock ;;
*) exit 1 ;;
esac
''

@ -0,0 +1,36 @@
_:
''
#!/usr/bin/env sh
#
# Rofi powered menu to take a screenshot of the whole screen, a selected area or
# the active window. The image is then saved and copied to the clipboard.
# Uses: date maim notify-send rofi xclip xdotool
save_location="$HOME/Pictures/Screenshots"
screenshot_path="$save_location/$(date +'%Y-%m-%d-%H%M%S').png"
screen=' Screen'
area=' Selection'
window=' Window'
chosen=$(printf '%s;%s;%s\n' "$screen" "$area" "$window" \
| rofi -dmenu -l 3\
-sep ';' \
-selected-row 1)
case "$chosen" in
"$screen") extra_args='--delay=1' ;;
"$area") extra_args='--delay=0.1 --select --highlight --color=0.85,0.87,0.91,0.2' ;;
"$window") extra_args="--delay=1 --window=$(xdotool getactivewindow)" ;;
*) exit 1 ;;
esac
# The variable is used as a command's options, so it shouldn't be quoted.
# shellcheck disable=2086
maim --hidecursor --quiet --quality=3 --format='png' $extra_args "$screenshot_path" && {
notify-send "Screenshot saved as <i>$screenshot_path</i>"
xclip -selection clipboard -target 'image/png' -in "$screenshot_path"
}
''

@ -0,0 +1,124 @@
_:
''
#!/usr/bin/env zsh
#This script provides a rofi menu interface for wifi control
#It uses and requires nmcli
get_match()
{
selection=$(echo -e "$1" | rofi -dmenu -p "$2")
[[ -z "$selection" ]] && exit 1
does_match_=$(echo -e "$1" | grep "$selection")
[[ -n "$1" ]] && [[ -z "$does_match_" ]] && exit 1
echo "$selection"
}
toggle_entry="WiFi"
create_option="Manual connection"
#Checks if wifi is currently enabled
state=$(nmcli -fields WIFI g)
enable_test=$(echo "$state" | grep "enabled")
echo $enable_test
if [[ -z "$enable_test" ]]; then
toggle="$toggle_entry on"
selection=$(get_match "Yes\nNo" "Enable WiFi")
if [ $selection = "Yes" ];then
nmcli radio wifi on
fi
exit 1
else
toggle="$toggle_entry off"
fi
fields="SSID,BARS,SECURITY"
lines_full=$(nmcli --fields $fields dev wifi list|sed "/\(^--\|$(echo $fields|cut -d',' -f1)\)/d"|sed 's/\s\{2,\}/_:_/g')
lines=$(echo -e "$lines_full"| awk -F "_:_" '{print $1" "$2}')
cons=$(nmcli con show)
current=$(iwgetid -r)
ssid_field=$(echo -e "$fields"| awk 'BEGIN{FS=","}{for(i=1;i<=NF;++i) {if($i ~ "SSID") print i}}')
#Takes input from the user using a rofi menu
selection=$(get_match "$toggle\n$lines\n$create_option" "WiFi")
selected_ssid=$(echo $selection|sed 's/\s\{2,\}/|/g'|awk -F "|" "{print \$$ssid_field}" )
#Create new connection
if [ "$selected_ssid" = "$create_option" ]; then
manual_ssid=$(echo "Enter the SSID of the network." | rofi -dmenu -p "SSID" -config ~/.dotfiles/rofi/config.rasi)
if [ -z "$manual_ssid" ];then
exit 1
fi
#if connection already exists
matches00=$(echo -e "$cons" |sed 's/\s\{2,\}/|/g'|awk -F "|" "/$manual_ssid/{print \$1}")
if [[ -n "$matches00" ]];then #If a match exists to the selected networks
n_matches00=$(echo -e "$matches00" |wc -l)
if [[ "$n_matches00" -eq "1" ]]; then #If only one match, connect
nmcli con up "$manual_ssid"
else #if more matches, prompt selection menu for which one to choose
chosen_cons00 = $(get_match "$matches00" "Which")
nmcli con up "$chosen_cons00"
fi
else
#if no matches
manual_password=$(echo "Enter the Password of the network (or leave blank)." | rofi -dmenu -p "Password" -config ~/.dotfiles/rofi/config.rasi)
if [ "$manual_password" = "" ];then
nmcli dev wifi con "$manual_ssid"
else
nmcli dev wifi con "$manual_ssid" password "$manual_password"
fi
fi
#Toggle wifi on
elif [ "$selected_ssid" = "$toggle_entry on" ];then
nmcli radio wifi on
#Toggle wifi off
elif [ "$selected_ssid" = "$toggle_entry off" ];then
nmcli radio wifi off
#An existing connection was selected
elif [[ -n "$selection" ]];then
matches=$(echo -e "$cons" |sed 's/\s\{2,\}/|/g'|awk -F "|" "/$selected_ssid/{print \$1}")
if [[ -n "$matches" ]];then #If a match exists to the selected networks
n_matches=$(echo -e "$matches" |wc -l)
if [[ "$n_matches" -eq "1" ]]; then #If only one match, connect
nmcli con up "$selected_ssid"
else #if more matches, prompt selection menu for which one to choose
chosen_cons = $(get_match "$matches" "Which")
nmcli con up "$chosen_cons"
fi
else #if no matches
wlan_=$(nmcli dev|grep wifi|sed 's/ \{2,\}/|/g'|cut -d'|' -f1)
sec0=$(echo -e "$lines_full"|grep "$selected_ssid"| awk '/802\.1X/')
#if security is 802.1x
if [[ -n "$sec0" ]];then
user_name=$(echo "Enter identity." | rofi -dmenu -p "Identity" -config ~/.dotfiles/rofi/config.rasi)
if [[ -z "$user_name" ]];then
exit 1
fi
password0=$(echo "Enter password of your identity (or leave empty)." | rofi -dmenu -p "Password" -config ~/.dotfiles/rofi/config.rasi)
n_matches_=$(echo -e "$wlan_"|wc -l)
#if more than one wlan device let user pick
if [[ "$n_matches_" -gt "1" ]];then
wlan_=$(get_match "$wlan_" "ifname")
fi
#add connection
nmcli con add type wifi con-name "$selected_ssid" ifname "$wlan_" ssid "$selected_ssid" -- \
wifi-sec.key-mgmt wpa-eap 802-1x.eap ttls \
802-1x.phase2-auth mschapv2 802-1x.identity "$user_name" 802-1x.password "$password0"
#connect
nmcli con up "$selected_ssid"
#if security is not 802.1x
else
sec=$(echo -e "$lines_full"|grep "$selected_ssid"| awk '/(WPA|WEP)/')
if [[ -n "$sec" ]];then #if network is secured, prompt for password
password_=$(echo "Enter password of the newtork (or leave blank)." | rofi -dmenu -p "Password" -config ~/.dotfiles/rofi/config.rasi)
fi
nmcli dev wifi con "$selected_ssid" password "$password_"
fi
fi
fi
''

@ -0,0 +1,40 @@
{}:
rec {
wallpaper = "nord-noice.jpg";
foreground = "c7ccd6";
background = "242832";
darker = "1b1e15";
bg2 = "2f3441";
mbg = "2c313e";
cursorColor = "262a36";
contrast = "262a35";
cursorline = "262a35";
comment = "6c7086";
color0 = "2a2e3a";
color8 = "2c303d";
color1 = "bf616a";
color9 = "c76871";
color2 = "73be82";
color10 = "80ca8f";
color3 = "de936b";
color11 = "eb9f77";
color4 = "7594b3";
color12 = "85a5c4";
color5 = "b47aa9";
color13 = "b181a8";
color6 = "63b0b9";
color14 = "90bbb9";
color7 = "c7ccd6";
color15 = "abb2bf";
name = "arctic";
neofetchpic = "nskull.png";
}

@ -0,0 +1,40 @@
{}:
rec {
wallpaper = "floating.jpg";
foreground = "f5e0dc";
background = "11111b";
darker = "0d0d15";
bg2 = "161623";
mbg = "151521";
cursorColor = "151521";
contrast = "151521";
cursorline = "161623";
comment = "6c7086";
color0 = "292c35";
color8 = "373941";
color1 = "d05759";
color9 = "e56e70";
color2 = "5fbf70";
color10 = "7fd98f";
color3 = "e0875f";
color11 = "efa17f";
color4 = "6481d0";
color12 = "7c98e4";
color5 = "c669cc";
color13 = "d476da";
color6 = "61aca2";
color14 = "70b6ac";
color7 = "B5BFE2";
color15 = "83889a";
name = "cat";
neofetchpic = "thecat.png";
}

@ -0,0 +1,39 @@
{}:
rec {
wallpaper = "road.png";
foreground = "dad0bc";
background = "1b2124";
darker = "151a1c";
mbg = "20282b";
bg2 = "22292d";
cursorColor = "d3c6a6";
contrast = "22292d";
cursorline = "22292d";
comment = "5a5a58";
color0 = "222a2e";
color8 = "303b41";
color1 = "ce6568";
color9 = "e76365";
color2 = "8dc080";
color10 = "90bd9b";
color3 = "d29571";
color11 = "d69b78";
color4 = "85b7b0";
color12 = "7fbbb3";
color5 = "d699b6";
color13 = "d491b1";
color6 = "90bd9b";
color14 = "7ab98a";
color7 = "d3c5aa";
color15 = "d4d5d5";
name = "forest";
neofetchpic = "trees.jpg";
}

@ -0,0 +1,41 @@
{}:
rec {
wallpaper = "platform.jpg";
foreground = "fbf1c7";
background = "1f1f1f";
darker = "171717";
bg2 = "2a2a2a";
mbg = "282828";
cursorColor = "fbf1c7";
contrast = "222222";
cursorline = "222222";
comment = "666660";
color0 = "1f1e1b";
color8 = "201f1c";
color1 = "da4b3b";
color9 = "f15341";
color2 = "99bf46";
color10 = "91c538";
color3 = "dc8c61";
color11 = "e1956c";
color4 = "649583";
color12 = "649583";
color5 = "bd798c";
color13 = "e3839d";
color6 = "7bac69";
color14 = "7db868";
color7 = "fbf1c7";
color15 = "fbf1c7";
name = "groove";
neofetchpic = "table.png";
}

@ -0,0 +1,40 @@
{}:
rec {
wallpaper = "homesweethome-onedark.jpg";
foreground = "dcdee6";
background = "181b21";
darker = "111418";
bg2 = "1d2028";
mbg = "1b1d25";
cursorColor = "dcdee6";
contrast = "1c1f26";
cursorline = "1cf216";
comment = "56585b";
color0 = "272b33";
color8 = "2d3139";
color1 = "c75f68";
color9 = "e0626c";
color2 = "60ae7f";
color10 = "6bbd8c";
color3 = "cb795f";
color11 = "e0626c";
color4 = "7095db";
color12 = "7ca0e3";
color5 = "b475c6";
color13 = "bf75d4";
color6 = "63b0b9";
color14 = "63b0b9";
color7 = "abb2bf";
color15 = "abb2bf";
name = "onedark";
neofetchpic = "awesome.png";
}

@ -0,0 +1,40 @@
{}:
rec {
wallpaper = "haunted.png";
foreground = "dfdddd";
background = "0c0c0c";
darker = "070707";
bg2 = "151515";
mbg = "131313";
cursorColor = "dbdfdf";
contrast = "111111";
cursorline = "191919";
comment = "5a5858";
color0 = "1b1b1b";
color8 = "272727";
color1 = "c14d53";
color9 = "da4b52";
color2 = "56966e";
color10 = "57a274";
color3 = "dc8c61";
color11 = "e1956c";
color4 = "6e95bd";
color12 = "6fadea";
color5 = "a56db1";
color13 = "d466e9";
color6 = "6a9f98";
color14 = "63b4b5";
color7 = "b7b7b7";
color15 = "a4b5b5";
name = "verdant";
neofetchpic = "rose.png";
}

@ -0,0 +1,42 @@
{}:
rec {
wallpaper = "lady.jpg";
foreground = "d7e0e0";
cursorColor = "d7e0e0";
background = "0a1011";
darker = "080c0d";
color0 = "0d1617";
color8 = "253336";
color1 = "df5b61";
color9 = "f16269";
color2 = "6ec587";
color10 = "8dd5a0";
color3 = "de8c6a";
color11 = "e59575";
color4 = "659bdb";
color12 = "739bdf";
color5 = "c167d9";
color13 = "d16ee0";
color6 = "6fd1d5";
color14 = "7bd3e0";
color7 = "c5d7d7";
color15 = "cedcd9";
bg2 = "101a1b";
mbg = "0e1718";
contrast = "111a1b";
cursorline = "111a1b";
comment = "505758";
name = "wave";
neofetchpic = "verycool.png";
}

@ -0,0 +1,29 @@
{ lib, stdenv, fetchFromGitHub }:
stdenv.mkDerivation rec {
pname = "gruvbox-dark-gtk";
version = "1.0.2";
src = fetchFromGitHub {
owner = "jmattheis";
repo = pname;
rev = "v${version}";
sha256 = "sha256-C681o89MTGNp1l3DLQsRpH9HQdmdCXZzk0F0rNhcyL4=";
};
installPhase = ''
mkdir -p $out/share/themes/gruvbox-dark
rm -rf README.md LICENSE .github
cp -r * $out/share/themes/gruvbox-dark
'';
meta = with lib; {
description = "Gruvbox theme for GTK based desktop environments";
homepage = "https://github.com/jmattheis/gruvbox-dark-gtk";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = [ maintainers.nomisiv ];
};
}

@ -0,0 +1,54 @@
{ stdenvNoCC
, fetchFromGitHub
, nodePackages
, colors
,
}:
stdenvNoCC.mkDerivation rec {
pname = "phocus";
version = "0cf0eb35a927bffcb797db8a074ce240823d92de";
src = fetchFromGitHub {
owner = "phocus";
repo = "gtk";
rev = version;
sha256 = "sha256-URuoDJVRQ05S+u7mkz1EN5HWquhTC4OqY8MqAbl0crk=";
};
patches = [
./patches/npm.diff
./patches/gradients.diff
./patches/substitute.diff
];
postPatch = ''
substituteInPlace scss/gtk-3.0/_colors.scss \
--replace "@bg0@" "#${colors.background}" \
--replace "@bg1@" "#${colors.contrast}" \
--replace "@bg2@" "#${colors.color8}"\
--replace "@bg3@" "#${colors.color0}" \
--replace "@bg4@" "#${colors.comment}" \
--replace "@red@" "#${colors.color1} \
--replace "@lred@" "#${colors.color9}" \
--replace "@orange@" "#${colors.color3}" \
--replace "@lorange@" "#${colors.color11}" \
--replace "@yellow@" "#${colors.color3}" \
--replace "@lyellow@" "#${colors.color11}" \
--replace "@green@" "#${colors.color2}" \
--replace "@lgreen@" "#${colors.color10}" \
--replace "@cyan@" "#${colors.color6}" \
--replace "@lcyan@" "#${colors.color15}" \
--replace "@blue@" "#${colors.color4}" \
--replace "@lblue@" "#${colors.color12}" \
--replace "@purple@" "#${colors.color5}" \
--replace "@lpurple@" "#${colors.color14}" \
--replace "@pink@" "#${colors.color5}" \
--replace "@lpink@" "#${colors.color14}" \
--replace "@primary@" "#${colors.foreground}" \
--replace "@secondary@" "#${colors.color15}"
'';
nativeBuildInputs = [ nodePackages.sass ];
installFlags = [ "DESTDIR=$(out)" "PREFIX=" ];
}

@ -0,0 +1,74 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, gitUpdater
, gtk3
, hicolor-icon-theme
, jdupes
, schemeVariants ? [ ]
, colorVariants ? [ ] # default is blue
}:
let
pname = "colloid-icon-theme";
in
lib.checkListOfEnum "${pname}: scheme variants" [ "default" "nord" "dracula" "all" ] schemeVariants
lib.checkListOfEnum "${pname}: color variants" [ "default" "purple" "pink" "red" "orange" "yellow" "green" "teal" "grey" "all" ]
colorVariants
stdenvNoCC.mkDerivation
rec {
inherit pname;
version = "2023-03-28";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
hash = "sha256-R7QKxZdcKUeTD6E9gj02Tu5tYv9JyqyH2sCsdOk9zTM=";
};
nativeBuildInputs = [
gtk3
jdupes
];
propagatedBuildInputs = [
hicolor-icon-theme
];
dontDropIconThemeCache = true;
# These fixup steps are slow and unnecessary for this package.
# Package may install almost 400 000 small files.
dontPatchELF = true;
dontRewriteSymlinks = true;
postPatch = ''
patchShebangs install.sh
'';
installPhase = ''
runHook preInstall
name= ./install.sh \
${lib.optionalString (schemeVariants != []) ("--scheme " + builtins.toString schemeVariants)} \
${lib.optionalString (colorVariants != []) ("--theme " + builtins.toString colorVariants)} \
--dest $out/share/icons
jdupes --quiet --link-soft --recurse $out/share
runHook postInstall
'';
passthru.updateScript = gitUpdater { };
meta = with lib; {
description = "Colloid icon theme";
homepage = "https://github.com/vinceliuice/colloid-icon-theme";
license = licenses.gpl3Only;
platforms = platforms.unix;
maintainers = with maintainers; [ romildo ];
};
}

@ -0,0 +1,47 @@
{ lib, stdenv, fetchFromGitHub, pkg-config, gdk-pixbuf, optipng, librsvg, gtk3, pantheon, gnome, gnome-icon-theme, hicolor-icon-theme }:
stdenv.mkDerivation rec {
pname = "elementary-xfce-icon-theme";
version = "0.17";
src = fetchFromGitHub {
owner = "shimmerproject";
repo = "elementary-xfce";
rev = "v${version}";
sha256 = "sha256-9WdVUCwHFX6wlu3++QqzV0RgTDYDnUYqK7yUl83liko=";
};
nativeBuildInputs = [
pkg-config
gdk-pixbuf
librsvg
optipng
gtk3
];
propagatedBuildInputs = [
pantheon.elementary-icon-theme
gnome.adwaita-icon-theme
gnome-icon-theme
hicolor-icon-theme
];
dontDropIconThemeCache = true;
postPatch = ''
substituteInPlace svgtopng/Makefile --replace "-O0" "-O"
'';
postInstall = ''
make icon-caches
'';
meta = with lib; {
description = "Elementary icons for Xfce and other GTK desktops like GNOME";
homepage = "https://github.com/shimmerproject/elementary-xfce";
license = licenses.gpl2;
# darwin cannot deal with file names differing only in case
platforms = platforms.linux;
maintainers = with maintainers; [ ] ++ teams.xfce.members;
};
}

@ -0,0 +1,64 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, gtk3
, hicolor-icon-theme
, jdupes
, roundedIcons ? false
, blackPanelIcons ? false
, allColorVariants ? false
, colorVariants ? [ ]
,
}:
let pname = "Fluent-icon-theme";
in
lib.checkListOfEnum "${pname}: available color variants" [ "standard" "green" "grey" "orange" "pink" "purple" "red" "yellow" "teal" ] colorVariants
stdenvNoCC.mkDerivation
rec {
inherit pname;
version = "2023-02-01";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
hash = "sha256-Plm05+5r6p9MabLmmh8kWitALGFalruBbhAgBhPCjRo=";
};
nativeBuildInputs = [ gtk3 jdupes ];
buildInputs = [ hicolor-icon-theme ];
# Unnecessary & slow fixup's
dontPatchELF = true;
dontRewriteSymlinks = true;
dontDropIconThemeCache = true;
postPatch = ''
patchShebangs install.sh
'';
installPhase = ''
runHook preInstall
./install.sh --dest $out/share/icons \
--name Fluent \
${builtins.toString colorVariants} \
${lib.optionalString allColorVariants "--all"} \
${lib.optionalString roundedIcons "--round"} \
${lib.optionalString blackPanelIcons "--black"}
jdupes --quiet --link-soft --recurse $out/share
runHook postInstall
'';
meta = with lib; {
description = "Fluent icon theme for linux desktops";
homepage = "https://github.com/vinceliuice/Fluent-icon-theme";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ icy-thought ];
};
}

@ -0,0 +1,72 @@
{ lib
, stdenvNoCC
, fetchFromGitHub
, gtk3
, hicolor-icon-theme
, jdupes
, boldPanelIcons ? false
, blackPanelIcons ? false
, alternativeIcons ? false
, themeVariants ? []
}:
let pname = "Whitesur-icon-theme";
in
lib.checkListOfEnum "${pname}: theme variants" [
"default"
"purple"
"pink"
"red"
"orange"
"yellow"
"green"
"grey"
"nord"
"all"
] themeVariants
stdenvNoCC.mkDerivation rec {
inherit pname;
version = "2023-01-08";
src = fetchFromGitHub {
owner = "vinceliuice";
repo = pname;
rev = version;
hash = "sha256-xqKGZPlGl8kNZ4AQYZWAywL+6UxwGzYOZ9WvB85JKZk=";
};
nativeBuildInputs = [ gtk3 jdupes ];
buildInputs = [ hicolor-icon-theme ];
# These fixup steps are slow and unnecessary
dontPatchELF = true;
dontRewriteSymlinks = true;
dontDropIconThemeCache = true;
postPatch = ''
patchShebangs install.sh
'';
installPhase = ''
runHook preInstall
./install.sh --dest $out/share/icons \
--name WhiteSur \
--theme ${builtins.toString themeVariants} \
${lib.optionalString alternativeIcons "--alternative"} \
${lib.optionalString boldPanelIcons "--bold"} \
${lib.optionalString blackPanelIcons "--black"}
jdupes --link-soft --recurse $out/share
runHook postInstall
'';
meta = with lib; {
description = "MacOS Big Sur style icon theme for Linux desktops";
homepage = "https://github.com/vinceliuice/WhiteSur-icon-theme";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ icy-thought ];
};
}

@ -0,0 +1,12 @@
{ colors }:
{
home.file.".local/bin/lock" = {
executable = true;
text = ''
#!/bin/sh
playerctl pause
awesome-client "awesome.emit_signal('toggle::lock')"
'';
};
}

@ -0,0 +1,35 @@
{ colors }:
with colors; {
xresources = {
path = ".Xresources";
extraConfig = ''
'';
properties = {
"st.background" = "#${background}";
"st.darker" = "#${darker}";
"st.color0" = "#${color0}";
"st.color8" = "#${color8}";
"st.color7" = "#${color7}";
"st.color15" = "#${color15}";
"st.foreground" = "#${foreground}";
"st.color1" = "#${color1}";
"st.color9" = "#${color9}";
"st.color2" = "#${color2}";
"st.color10" = "#${color10}";
"st.color3" = "#${color3}";
"st.color11" = "#${color11}";
"st.color4" = "#${color4}";
"st.color12" = "#${color12}";
"st.color5" = "#${color5}";
"st.color13" = "#${color13}";
"st.color6" = "#${color6}";
"st.color14" = "#${color14}";
"st.contrast" = "#${contrast}";
"st.cursorline" = "#${cursorline}";
"st.comment" = "#${comment}";
"st.borderpx" = 32;
};
};
}

@ -0,0 +1,144 @@
{ pkgs, outputs, overlays, lib, ... }:
let
flake-compat = builtins.fetchTarball "https://github.com/edolstra/flake-compat/archive/master.tar.gz";
my-python-packages = ps: with ps; [
numpy
];
in
{
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
boot.loader.efi.efiSysMountPoint = "/boot";
programs.zsh.enable = true;
networking = {
networkmanager.enable = true;
firewall.enable = false;
};
security = {
sudo.enable = true;
};
services.blueman = {
enable = true;
};
time = {
hardwareClockInLocalTime = true;
timeZone = "Europe/Paris";
};
i18n.defaultLocale = "en_US.UTF-8";
console = {
font = "Lat2-Terminus16";
useXkbConfig = true;
};
users = {
users.gwen = {
isNormalUser = true;
extraGroups = [ "wheel" "networkmanager" "audio" "video" "libvirtd" ];
packages = with pkgs; [ ];
};
defaultUserShell = pkgs.zsh;
};
fonts.fonts = with pkgs; [
material-design-icons
# phospor
inter
material-symbols
rubik
ibm-plex
(nerdfonts.override { fonts = [ "Iosevka" "CascadiaCode" "JetBrainsMono" ]; })
];
sound.enable = true;
hardware.pulseaudio.enable = true;
hardware.pulseaudio.extraConfig = "load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1";
security.rtkit.enable = true;
virtualisation = {
libvirtd.enable = true;
};
environment.systemPackages = with pkgs; [
nodejs
#lutgen
home-manager
lua-language-server
lua54Packages.lua
blueman
inotify-tools
udiskie
rnix-lsp
xorg.xwininfo
pulseaudio
(pkgs.python3.withPackages my-python-packages)
libnotify
xdg-utils
gtk3
jq
st
spotdl
armcord
firefox
unzip
#imgclr
git
bat
pstree
mpv
xdotool
spotify
simplescreenrecorder
brightnessctl
pamixer
nix-prefetch-git
python3
brillo
wmctrl
slop
ueberzugpp
ripgrep
maim
xclip
wirelesstools
xorg.xf86inputevdev
xorg.xf86inputsynaptics
xorg.xf86inputlibinput
xorg.xorgserver
xorg.xf86videoati
];
environment.shells = with pkgs; [ zsh ];
programs.dconf.enable = true;
qt = {
enable = true;
platformTheme = "gtk2";
style = "gtk2";
};
services.printing.enable = true;
hardware.bluetooth = {
enable = true;
powerOnBoot = false;
};
services.xserver = {
layout = "fr";
xkbVariant = "fr,";
};
security.polkit.enable = true;
nix = {
settings = {
experimental-features = [ "nix-command" "flakes" ];
trusted-users = [ "root" "@wheel" ];
auto-optimise-store = true;
warn-dirty = false;
};
gc = {
automatic = true;
options = "--delete-older-than 5d";
};
optimise.automatic = true;
};
system = {
copySystemConfiguration = false;
};
}

@ -0,0 +1,112 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ inputs, outputs, config, pkgs, lib, self, ... }:
{
imports =
[
# Include the results of the hardware scan.
./hardware-configuration.nix
../shared
];
nixpkgs = {
overlays = [
outputs.overlays.modifications
outputs.overlays.additions
inputs.nixpkgs-f2k.overlays.stdenvs
inputs.nixpkgs-f2k.overlays.compositors
(final: prev:
{
awesome = inputs.nixpkgs-f2k.packages.${pkgs.system}.awesome-git;
}
)
];
};
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "thinkpad"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/Paris";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "fr_FR.UTF-8";
LC_IDENTIFICATION = "fr_FR.UTF-8";
LC_MEASUREMENT = "fr_FR.UTF-8";
LC_MONETARY = "fr_FR.UTF-8";
LC_NAME = "fr_FR.UTF-8";
LC_NUMERIC = "fr_FR.UTF-8";
LC_PAPER = "fr_FR.UTF-8";
LC_TELEPHONE = "fr_FR.UTF-8";
LC_TIME = "fr_FR.UTF-8";
};
environment.systemPackages = lib.attrValues {
inherit (pkgs)
brightnessctl
wayland
android-tools;
};
# Configure X11
services = {
gvfs.enable = true;
tlp.enable = true;
power-profiles-daemon.enable = false;
upower.enable = true;
xserver = {
enable = true;
videoDrivers = [ "amdgpu" ];
libinput = {
enable = true;
touchpad = {
tapping = true;
middleEmulation = true;
naturalScrolling = true;
};
};
displayManager = {
defaultSession = "none+awesome";
startx.enable = true;
};
windowManager.awesome = {
enable = true;
};
desktopManager.gnome.enable = false;
};
};
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.05"; # Did you read the comment?
}

@ -1,3 +1,4 @@
# Do not modify this file! It was generated by nixos-generate-config
# and may be overwritten by future invocations. Please make changes
# to /etc/nixos/configuration.nix instead.
@ -18,6 +19,10 @@
fsType = "ext4";
};
# fileSystems."/boot/efi" =
# { device = "/dev/disk/by-uuid/FDD3-D217";
# fsType = "vfat";
# };
swapDevices =
[ { device = "/dev/disk/by-uuid/c29859ee-f6ac-4fc0-b4f4-77a5c7619622"; }
];

@ -1,132 +0,0 @@
# Edit this configuration file to define what should be installed on
# your system. Help is available in the configuration.nix(5) man page
# and in the NixOS manual (accessible by running nixos-help).
{ config, pkgs, ... }:
{
imports =
[ # Include the results of the hardware scan.
./hardware-configuration.nix
];
# Bootloader.
boot.loader.systemd-boot.enable = true;
boot.loader.efi.canTouchEfiVariables = true;
networking.hostName = "nixos"; # Define your hostname.
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
# Configure network proxy if necessary
# networking.proxy.default = "http://user:password@proxy:port/";
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
# Enable networking
networking.networkmanager.enable = true;
# Set your time zone.
time.timeZone = "Europe/Paris";
# Select internationalisation properties.
i18n.defaultLocale = "en_US.UTF-8";
i18n.extraLocaleSettings = {
LC_ADDRESS = "fr_FR.UTF-8";
LC_IDENTIFICATION = "fr_FR.UTF-8";
LC_MEASUREMENT = "fr_FR.UTF-8";
LC_MONETARY = "fr_FR.UTF-8";
LC_NAME = "fr_FR.UTF-8";
LC_NUMERIC = "fr_FR.UTF-8";
LC_PAPER = "fr_FR.UTF-8";
LC_TELEPHONE = "fr_FR.UTF-8";
LC_TIME = "fr_FR.UTF-8";
};
# Enable the X11 windowing system.
services.xserver.enable = true;
# Enable the GNOME Desktop Environment.
services.xserver.displayManager.gdm.enable = true;
services.xserver.desktopManager.gnome.enable = true;
# Configure keymap in X11
services.xserver = {
layout = "fr";
xkbVariant = "";
};
# Configure console keymap
console.keyMap = "fr";
# Enable CUPS to print documents.
services.printing.enable = true;
# Enable sound with pipewire.
sound.enable = true;
hardware.pulseaudio.enable = false;
security.rtkit.enable = true;
services.pipewire = {
enable = true;
alsa.enable = true;
alsa.support32Bit = true;
pulse.enable = true;
# If you want to use JACK applications, uncomment this
#jack.enable = true;
# use the example session manager (no others are packaged yet so this is enabled by default,
# no need to redefine it in your config for now)
#media-session.enable = true;
};
# Enable touchpad support (enabled default in most desktopManager).
# services.xserver.libinput.enable = true;
# Define a user account. Don't forget to set a password with passwd.
users.users.gwen = {
isNormalUser = true;
description = "gwen";
extraGroups = [ "networkmanager" "wheel" ];
packages = with pkgs; [
firefox
# thunderbird
];
};
# Allow unfree packages
nixpkgs.config.allowUnfree = true;
# List packages installed in system profile. To search, run:
# $ nix search wget
environment.systemPackages = with pkgs; [
# vim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
# wget
];
# Some programs need SUID wrappers, can be configured further or are
# started in user sessions.
# programs.mtr.enable = true;
# programs.gnupg.agent = {
# enable = true;
# enableSSHSupport = true;
# };
# List services that you want to enable:
# Enable the OpenSSH daemon.
# services.openssh.enable = true;
# Open ports in the firewall.
# networking.firewall.allowedTCPPorts = [ ... ];
# networking.firewall.allowedUDPPorts = [ ... ];
# Or disable the firewall altogether.
# networking.firewall.enable = false;
# This value determines the NixOS release from which the default
# settings for stateful data, like file locations and database versions
# on your system were taken. Its perfectly fine and recommended to leave
# this value at the release version of the first install of this system.
# Before changing this value read the documentation for this option
# (e.g. man configuration.nix or on https://nixos.org/nixos/options.html).
system.stateVersion = "23.05"; # Did you read the comment?
}

@ -0,0 +1,40 @@
diff --git a/scss/gtk-3.0/widgets/_progressbar.scss b/scss/gtk-3.0/widgets/_progressbar.scss
index 0c0dedf..3113179 100644
--- a/scss/gtk-3.0/widgets/_progressbar.scss
+++ b/scss/gtk-3.0/widgets/_progressbar.scss
@@ -6,6 +6,8 @@ progressbar {
background: colors.$white-weakest;
progress {
background: colors.$accent-secondary;
+ &.horizontal progress { background-image: linear-gradient(to right, colors.$accent-primary, colors.$accent-secondary); }
+ &.vertical progress { background-image: linear-gradient(to bottom, colors.$accent-primary, colors.$accent-secondary); }
}
}
-}
\ No newline at end of file
+}
diff --git a/scss/gtk-3.0/widgets/_scale.scss b/scss/gtk-3.0/widgets/_scale.scss
index 1da322d..ea6a59d 100644
--- a/scss/gtk-3.0/widgets/_scale.scss
+++ b/scss/gtk-3.0/widgets/_scale.scss
@@ -13,9 +13,7 @@ scale {
margin: -5px;
border-radius: 100%;
}
- highlight {
- background: colors.$accent-primary;
- }
+ highlight { }
}
}
@@ -31,5 +29,7 @@ scale {
}
}
+ &.horizontal highlight { background-image: linear-gradient(to right, colors.$accent-primary, colors.$accent-secondary); }
+ &.vertical highlight { background-image: linear-gradient(to bottom, colors.$accent-primary, colors.$accent-secondary); }
&:disabled { opacity: 0.3; }
-}
\ No newline at end of file
+}

@ -0,0 +1,22 @@
From f9d92e374af843fb8e896c997107a431ed2dc901 Mon Sep 17 00:00:00 2001
From: shaunsingh <shaunsingh0207@gmail.com>
Date: Mon, 20 Feb 2023 18:57:45 -0500
Subject: [PATCH] Update Makefile
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index 377fffc..5b9c890 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@ DESTDIR ?=
INSTALL_DIR ?= $(DESTDIR)$(PREFIX)/share/themes/phocus
all:
- npm install && npm run build
+ sass scss:.
install:
@install -v -d "$(INSTALL_DIR)"

@ -0,0 +1,59 @@
diff --git a/scss/gtk-3.0/_colors.scss b/scss/gtk-3.0/_colors.scss
index ac47a66..0c157c7 100644
--- a/scss/gtk-3.0/_colors.scss
+++ b/scss/gtk-3.0/_colors.scss
@@ -1,8 +1,8 @@
-$surface-strongest: rgb(10, 10, 10);
-$surface-strong: rgb(20, 20, 20);
-$surface-moderate: rgb(28, 28, 28);
-$surface-weak: rgb(34, 34, 34);
-$surface-weakest: rgb(40, 40, 40);
+$surface-strongest: @bg0@;
+$surface-strong: @bg1@;
+$surface-moderate: @bg2@;
+$surface-weak: @bg3@;
+$surface-weakest: @bg4@;
$white-strongest: rgb(255, 255, 255);
$white-strong: rgba(255, 255, 255, 0.87);
@@ -16,25 +16,25 @@ $black-moderate: rgba(0, 0, 0, 0.42);
$black-weak: rgba(0, 0, 0, 0.15);
$black-weakest: rgba(0, 0, 0, 0.06);
-$red-normal: rgb(218, 88, 88);
-$red-light:rgb(227, 109, 109);
-$orange-normal: rgb(237, 148, 84);
-$orange-light: rgb(252, 166, 105);
-$yellow-normal: rgb(232, 202, 94);
-$yellow-light: rgb(250, 221, 117);
-$green-normal: rgb(63, 198, 97);
-$green-light: rgb(97, 214, 126);
-$cyan-normal: rgb(92, 216, 230);
-$cyan-light: rgb(126, 234, 246);
-$blue-normal: rgb(73, 126, 233);
-$blue-light: rgb(93, 141, 238);
-$purple-normal: rgb(113, 84, 242);
-$purple-light: rgb(128, 102, 245);
-$pink-normal: rgb(213, 108, 195);
-$pink-light: rgb(223, 129, 207);
+$red-normal: @red@;
+$red-light: @lred@;
+$orange-normal: @orange@;
+$orange-light: @lorange@;
+$yellow-normal: @yellow@;
+$yellow-light: @lyellow@;
+$green-normal: @green@;
+$green-light: @lgreen@;
+$cyan-normal: @cyan@;
+$cyan-light: @lcyan@;
+$blue-normal: @blue@;
+$blue-light: @lblue@;
+$purple-normal: @purple@;
+$purple-light: @lpurple@;
+$pink-normal: @pink@;
+$pink-light: @lpink@;
-$accent-primary: $purple-normal;
-$accent-secondary: $green-normal;
+$accent-primary: @primary@;
+$accent-secondary: @secondary@;
Loading…
Cancel
Save