adding qcad and more
This commit is contained in:
parent
c02eb8255f
commit
ee9a53dc09
12
README.md
12
README.md
|
@ -1,3 +1,11 @@
|
|||
# myNixOSConfig
|
||||
# nixos-configuration from Vieta
|
||||
|
||||
# Done
|
||||
- OptInState Ready
|
||||
|
||||
## TODO
|
||||
- Add more configs
|
||||
- Servers
|
||||
- Diskosetup
|
||||
- EraseYourDarlings
|
||||
|
||||
ich bedanke mich bei vieta und dem ccchh für die rettungen die noch kommen werden
|
66
configuration.nix
Normal file
66
configuration.nix
Normal file
|
@ -0,0 +1,66 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./system/hosts/nixos/nixos.nix
|
||||
./system/lang.nix
|
||||
./users/i3le.nix
|
||||
./services/network.nix
|
||||
#./services/media.nix
|
||||
#./services/guix.nix
|
||||
./services/containers.nix
|
||||
#./services/vpn.nix
|
||||
./services/bluetooth.nix
|
||||
];
|
||||
|
||||
# keep it up to date
|
||||
system.stateVersion = "24.05";
|
||||
|
||||
nix = {
|
||||
settings = {
|
||||
experimental-features = [ "nix-command" "flakes" ];
|
||||
auto-optimise-store = true;
|
||||
};
|
||||
gc = {
|
||||
automatic = true;
|
||||
dates = "weekly";
|
||||
options = "--delete-older-than 7d";
|
||||
};
|
||||
};
|
||||
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
documentation.nixos.enable = false;
|
||||
#services.openssh.enable = true;
|
||||
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
neovim # Do not forget to add an editor to edit configuration.nix! The Nano editor is also installed by default.
|
||||
wget
|
||||
powertop
|
||||
btop
|
||||
htop
|
||||
tree
|
||||
curl
|
||||
usbutils
|
||||
];
|
||||
|
||||
|
||||
# programs.mtr.enable = true;
|
||||
# programs.gnupg.agent = {
|
||||
# enable = true;
|
||||
# enableSSHSupport = true;
|
||||
# };
|
||||
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# Nonflake
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
# system.copySystemConfiguration = true;
|
||||
|
||||
}
|
||||
|
812
flake.lock
Normal file
812
flake.lock
Normal file
|
@ -0,0 +1,812 @@
|
|||
{
|
||||
"nodes": {
|
||||
"chaotic": {
|
||||
"inputs": {
|
||||
"compare-to": "compare-to",
|
||||
"fenix": "fenix",
|
||||
"flake-schemas": "flake-schemas",
|
||||
"home-manager": "home-manager",
|
||||
"jovian": "jovian",
|
||||
"nixpkgs": "nixpkgs",
|
||||
"systems": "systems",
|
||||
"yafas": "yafas"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725648456,
|
||||
"narHash": "sha256-tvUH4BPgk8jVVJrXlTQDu6sqHsSDOLWMEhy+iuLR2RA=",
|
||||
"owner": "chaotic-cx",
|
||||
"repo": "nyx",
|
||||
"rev": "61032d2f00185066bcd0db424f60dd3e4aa7ed89",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "chaotic-cx",
|
||||
"ref": "nyxpkgs-unstable",
|
||||
"repo": "nyx",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"compare-to": {
|
||||
"locked": {
|
||||
"lastModified": 1695341185,
|
||||
"narHash": "sha256-htO6DSbWyCgaDkxi7foPjXwJFPzGjVt3RRUbPSpNtZY=",
|
||||
"rev": "98b8e330823a3570d328720f87a1153f8a7f2224",
|
||||
"revCount": 2,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/chaotic-cx/nix-empty-flake/0.1.2%2Brev-98b8e330823a3570d328720f87a1153f8a7f2224/018aba35-d228-7fa9-b205-7616c89ef4e0/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/chaotic-cx/nix-empty-flake/%3D0.1.2.tar.gz"
|
||||
}
|
||||
},
|
||||
"devshell": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722113426,
|
||||
"narHash": "sha256-Yo/3loq572A8Su6aY5GP56knpuKYRvM2a1meP9oJZCw=",
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"rev": "67cce7359e4cd3c45296fb4aaf6a19e2a9c757ae",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "devshell",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"fenix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
"nixpkgs"
|
||||
],
|
||||
"rust-analyzer-src": "rust-analyzer-src"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725517947,
|
||||
"narHash": "sha256-sB8B3M6CS0Y0rnncsCPz0htg6LoC1RbI2Mq9K88tSOk=",
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"rev": "96072c2af73da16c7db013dbb8c8869000157235",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "fenix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_2": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "edolstra",
|
||||
"repo": "flake-compat",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-compat_3": {
|
||||
"locked": {
|
||||
"lastModified": 1696426674,
|
||||
"narHash": "sha256-kvjfFW7WAETZlt09AgDn1MrtKzP7t90Vf7vypd3OL1U=",
|
||||
"rev": "0f9255e01c2351cc7d116c072cb317785dd33b33",
|
||||
"revCount": 57,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/edolstra/flake-compat/1.0.1/018afb31-abd1-7bff-a5e4-cff7e18efb7a/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/edolstra/flake-compat/1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-parts": {
|
||||
"inputs": {
|
||||
"nixpkgs-lib": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1722555600,
|
||||
"narHash": "sha256-XOQkdLafnb/p9ij77byFQjDf5m5QYl9b2REiVClC+x4=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"rev": "8471fe90ad337a8074e957b69ca4d0089218391d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "flake-parts",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-schemas": {
|
||||
"locked": {
|
||||
"lastModified": 1693491534,
|
||||
"narHash": "sha256-ifw8Td8kD08J8DxFbYjeIx5naHcDLz7s2IFP3X42I/U=",
|
||||
"rev": "c702cbb663d6d70bbb716584a2ee3aeb35017279",
|
||||
"revCount": 21,
|
||||
"type": "tarball",
|
||||
"url": "https://api.flakehub.com/f/pinned/DeterminateSystems/flake-schemas/0.1.1/018a4c59-80e1-708a-bb4d-854930c20f72/source.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://flakehub.com/f/DeterminateSystems/flake-schemas/%3D0.1.1.tar.gz"
|
||||
}
|
||||
},
|
||||
"flake-utils": {
|
||||
"inputs": {
|
||||
"systems": "systems_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_2": {
|
||||
"inputs": {
|
||||
"systems": "systems_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_3": {
|
||||
"inputs": {
|
||||
"systems": "systems_4"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flake-utils_4": {
|
||||
"inputs": {
|
||||
"systems": "systems_5"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1710146030,
|
||||
"narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=",
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "flake-utils",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"flakey-profile": {
|
||||
"locked": {
|
||||
"lastModified": 1712898590,
|
||||
"narHash": "sha256-FhGIEU93VHAChKEXx905TSiPZKga69bWl1VB37FK//I=",
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"rev": "243c903fd8eadc0f63d205665a92d4df91d42d9d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lf-",
|
||||
"repo": "flakey-profile",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"git-hooks": {
|
||||
"inputs": {
|
||||
"flake-compat": [
|
||||
"nixvim",
|
||||
"flake-compat"
|
||||
],
|
||||
"gitignore": "gitignore",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
],
|
||||
"nixpkgs-stable": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724857454,
|
||||
"narHash": "sha256-Qyl9Q4QMTLZnnBb/8OuQ9LSkzWjBU1T5l5zIzTxkkhk=",
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"rev": "4509ca64f1084e73bc7a721b20c669a8d4c5ebe6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "cachix",
|
||||
"repo": "git-hooks.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"gitignore": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"git-hooks",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1709087332,
|
||||
"narHash": "sha256-HG2cCnktfHsKV0s4XW83gU3F57gaTljL9KNSuG6bnQs=",
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"rev": "637db329424fd7e46cf4185293b9cc8c88c95394",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "hercules-ci",
|
||||
"repo": "gitignore.nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725180166,
|
||||
"narHash": "sha256-fzssXuGR/mCeGbzM1ExaTqDz7QDGta3WA4jJsZyRruo=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "471e3eb0a114265bcd62d11d58ba8d3421ee68eb",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_2": {
|
||||
"inputs": {
|
||||
"nixpkgs": "nixpkgs_2"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725628988,
|
||||
"narHash": "sha256-Y6TBMTGu4bddUwszGjlcOuN0soVc1Gv43hp+1sT/GNI=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "127ccc3eb7e36fa75e8c3fbd8a343154f66cc1c6",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"home-manager_3": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724435763,
|
||||
"narHash": "sha256-UNky3lJNGQtUEXT2OY8gMxejakSWPTfWKvpFkpFlAfM=",
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"rev": "c2cd2a52e02f1dfa1c88f95abeb89298d46023be",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "home-manager",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"jovian": {
|
||||
"inputs": {
|
||||
"nix-github-actions": "nix-github-actions",
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725153537,
|
||||
"narHash": "sha256-8+BJdXM1WBAttY+C63pEMUmUtSEWXHEhXOkLK4k1s2E=",
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"rev": "b13488a1f8ab01db6a3d18629f7b22a430f03984",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Jovian-Experiments",
|
||||
"repo": "Jovian-NixOS",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"lix": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1720626042,
|
||||
"narHash": "sha256-f8k+BezKdJfmE+k7zgBJiohtS3VkkriycdXYsKOm3sc=",
|
||||
"rev": "2a4376be20d70feaa2b0e640c5041fb66ddc67ed",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/lix/archive/2a4376be20d70feaa2b0e640c5041fb66ddc67ed.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/lix/archive/2.90.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"lix-module": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils",
|
||||
"flakey-profile": "flakey-profile",
|
||||
"lix": "lix",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1720641669,
|
||||
"narHash": "sha256-yEO2cGNgzm9x/XxiDQI+WckSWnZX63R8aJLBRSXtYNE=",
|
||||
"rev": "5c48c833c15bb80d127a398a8c2484d42fdd8257",
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/api/v1/repos/lix-project/nixos-module/archive/5c48c833c15bb80d127a398a8c2484d42fdd8257.tar.gz"
|
||||
},
|
||||
"original": {
|
||||
"type": "tarball",
|
||||
"url": "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz"
|
||||
}
|
||||
},
|
||||
"nix-alien": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat",
|
||||
"flake-utils": "flake-utils_2",
|
||||
"nix-filter": "nix-filter",
|
||||
"nix-index-database": "nix-index-database",
|
||||
"nixpkgs": "nixpkgs_3"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725216861,
|
||||
"narHash": "sha256-GaCobLXfPYBuhxy2TdlEDAfS3PD4mrUj6NQIPOzQq48=",
|
||||
"owner": "thiagokokada",
|
||||
"repo": "nix-alien",
|
||||
"rev": "f92c20327b240ce2098d227c3674d7c02beea51b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "thiagokokada",
|
||||
"repo": "nix-alien",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-darwin": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724561770,
|
||||
"narHash": "sha256-zv8C9RNa86CIpyHwPIVO/k+5TfM8ZbjGwOOpTe1grls=",
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"rev": "ac5694a0b855a981e81b4d9f14052e3ff46ca39e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "lnl7",
|
||||
"repo": "nix-darwin",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-filter": {
|
||||
"locked": {
|
||||
"lastModified": 1710156097,
|
||||
"narHash": "sha256-1Wvk8UP7PXdf8bCCaEoMnOT1qe5/Duqgj+rL8sRQsSM=",
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"rev": "3342559a24e85fc164b295c3444e8a139924675b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "nix-filter",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-github-actions": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"chaotic",
|
||||
"jovian",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1690328911,
|
||||
"narHash": "sha256-fxtExYk+aGf2YbjeWQ8JY9/n9dwuEt+ma1eUFzF8Jeo=",
|
||||
"owner": "zhaofengli",
|
||||
"repo": "nix-github-actions",
|
||||
"rev": "96df4a39c52f53cb7098b923224d8ce941b64747",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "zhaofengli",
|
||||
"ref": "matrix-name",
|
||||
"repo": "nix-github-actions",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-index-database": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nix-alien",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1723352546,
|
||||
"narHash": "sha256-WTIrvp0yV8ODd6lxAq4F7EbrPQv0gscBnyfn559c3k8=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"rev": "ec78079a904d7d55e81a0468d764d0fffb50ac06",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nix-index-database",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nix-ld": {
|
||||
"inputs": {
|
||||
"flake-compat": "flake-compat_2",
|
||||
"flake-utils": "flake-utils_3",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1721411691,
|
||||
"narHash": "sha256-fN0NjkYcQrdVSvWlSnvdu8XD34q8tl84SEz5BOJYROA=",
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-ld",
|
||||
"rev": "7a990656e51465a18ba70f49c2cf9c8d0947b4c9",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "Mic92",
|
||||
"repo": "nix-ld",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs": {
|
||||
"locked": {
|
||||
"lastModified": 1725432240,
|
||||
"narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ad416d066ca1222956472ab7d0555a6946746a80",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_2": {
|
||||
"locked": {
|
||||
"lastModified": 1725103162,
|
||||
"narHash": "sha256-Ym04C5+qovuQDYL/rKWSR+WESseQBbNAe5DsXNx5trY=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "12228ff1752d7b7624a54e9c1af4b222b3c1073b",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_3": {
|
||||
"locked": {
|
||||
"lastModified": 1723362943,
|
||||
"narHash": "sha256-dFZRVSgmJkyM0bkPpaYRtG/kRMRTorUIDj8BxoOt1T4=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "a58bc8ad779655e790115244571758e8de055e3d",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixpkgs_4": {
|
||||
"locked": {
|
||||
"lastModified": 1725432240,
|
||||
"narHash": "sha256-+yj+xgsfZaErbfYM3T+QvEE2hU7UuE+Jf0fJCJ8uPS0=",
|
||||
"owner": "NixOS",
|
||||
"repo": "nixpkgs",
|
||||
"rev": "ad416d066ca1222956472ab7d0555a6946746a80",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NixOS",
|
||||
"ref": "nixos-unstable",
|
||||
"repo": "nixpkgs",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nixvim": {
|
||||
"inputs": {
|
||||
"devshell": "devshell",
|
||||
"flake-compat": "flake-compat_3",
|
||||
"flake-parts": "flake-parts",
|
||||
"git-hooks": "git-hooks",
|
||||
"home-manager": "home-manager_3",
|
||||
"nix-darwin": "nix-darwin",
|
||||
"nixpkgs": [
|
||||
"nixpkgs"
|
||||
],
|
||||
"nuschtosSearch": "nuschtosSearch",
|
||||
"treefmt-nix": "treefmt-nix"
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1725631974,
|
||||
"narHash": "sha256-7r3WWcombWthNv28cHRzNChG3Jt6a3Wdp/zq1HsCQRg=",
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"rev": "9a156ae60cacce99bdec4d94275f38e7d5ca12fe",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-community",
|
||||
"repo": "nixvim",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"nuschtosSearch": {
|
||||
"inputs": {
|
||||
"flake-utils": "flake-utils_4",
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724584782,
|
||||
"narHash": "sha256-7FfHv7b1jwMPSu9SPY9hdxStk8E6EeSwzqdvV69U4BM=",
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"rev": "5a08d691de30b6fc28d58ce71a5e420f2694e087",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "NuschtOS",
|
||||
"repo": "search",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"root": {
|
||||
"inputs": {
|
||||
"chaotic": "chaotic",
|
||||
"home-manager": "home-manager_2",
|
||||
"lix-module": "lix-module",
|
||||
"nix-alien": "nix-alien",
|
||||
"nix-ld": "nix-ld",
|
||||
"nixpkgs": "nixpkgs_4",
|
||||
"nixvim": "nixvim"
|
||||
}
|
||||
},
|
||||
"rust-analyzer-src": {
|
||||
"flake": false,
|
||||
"locked": {
|
||||
"lastModified": 1725444219,
|
||||
"narHash": "sha256-VjItfg2kZJ2to3bnNlkWAClKQLssIi86QcE1/vcRvv0=",
|
||||
"owner": "rust-lang",
|
||||
"repo": "rust-analyzer",
|
||||
"rev": "50882fbfa204027c84753e6d51a1a12884dc1b19",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "rust-lang",
|
||||
"ref": "nightly",
|
||||
"repo": "rust-analyzer",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems": {
|
||||
"locked": {
|
||||
"lastModified": 1689347949,
|
||||
"narHash": "sha256-12tWmuL2zgBgZkdoB6qXZsgJEH9LR3oUgpaQq2RbI80=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"rev": "31732fcf5e8fea42e59c2488ad31a0e651500f68",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default-linux",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"systems_4": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"systems_5": {
|
||||
"locked": {
|
||||
"lastModified": 1681028828,
|
||||
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "nix-systems",
|
||||
"repo": "default",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"treefmt-nix": {
|
||||
"inputs": {
|
||||
"nixpkgs": [
|
||||
"nixvim",
|
||||
"nixpkgs"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1724833132,
|
||||
"narHash": "sha256-F4djBvyNRAXGusJiNYInqR6zIMI3rvlp6WiKwsRISos=",
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"rev": "3ffd842a5f50f435d3e603312eefa4790db46af5",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "numtide",
|
||||
"repo": "treefmt-nix",
|
||||
"type": "github"
|
||||
}
|
||||
},
|
||||
"yafas": {
|
||||
"inputs": {
|
||||
"flake-schemas": [
|
||||
"chaotic",
|
||||
"flake-schemas"
|
||||
],
|
||||
"systems": [
|
||||
"chaotic",
|
||||
"systems"
|
||||
]
|
||||
},
|
||||
"locked": {
|
||||
"lastModified": 1695926485,
|
||||
"narHash": "sha256-wNFFnItckgSs8XeYhhv8vlJs2WF09fSQaWgw4xkDqHQ=",
|
||||
"owner": "UbiqueLambda",
|
||||
"repo": "yafas",
|
||||
"rev": "7772afd6686458ca0ddbc599a52cf5d337367653",
|
||||
"type": "github"
|
||||
},
|
||||
"original": {
|
||||
"owner": "UbiqueLambda",
|
||||
"repo": "yafas",
|
||||
"type": "github"
|
||||
}
|
||||
}
|
||||
},
|
||||
"root": "root",
|
||||
"version": 7
|
||||
}
|
80
flake.nix
Normal file
80
flake.nix
Normal file
|
@ -0,0 +1,80 @@
|
|||
{
|
||||
description = "systemflake";
|
||||
|
||||
inputs = {
|
||||
nixpkgs = {
|
||||
url = "github:NixOS/nixpkgs/nixos-unstable";
|
||||
# url = "github:NixOS/nixpkgs/nixos-23.11";
|
||||
};
|
||||
chaotic.url = "github:chaotic-cx/nyx/nyxpkgs-unstable";
|
||||
|
||||
|
||||
lix-module = {
|
||||
url = "https://git.lix.systems/lix-project/nixos-module/archive/2.90.0.tar.gz";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
|
||||
nix-alien.url = "github:thiagokokada/nix-alien";
|
||||
nix-ld.url = "github:Mic92/nix-ld";
|
||||
nix-ld.inputs.nixpkgs.follows = "nixpkgs";
|
||||
home-manager.url = "github:nix-community/home-manager";
|
||||
#home-manager.url = "github:nix-community/home-manager-23.11";
|
||||
nixvim = { url = "github:nix-community/nixvim";
|
||||
inputs.nixpkgs.follows = "nixpkgs";
|
||||
};
|
||||
#nix-doom-emacs.url = "github:nix-community/nix-doom-emacs";
|
||||
};
|
||||
|
||||
nixConfig = {
|
||||
extra-substituters = [
|
||||
"https://nyx.chaotic.cx/"
|
||||
];
|
||||
extra-trusted-public-keys = [
|
||||
"chaotic-nyx.cachix.org-1:HfnXSw4pj95iI/n17rIDy40agHj12WfF+Gqk6SonIT8="
|
||||
];
|
||||
};
|
||||
|
||||
outputs = {
|
||||
self,
|
||||
nixpkgs,
|
||||
home-manager,
|
||||
nixvim,
|
||||
nix-ld,
|
||||
nix-alien,
|
||||
lix-module,
|
||||
chaotic,
|
||||
#nix-doom-emacs,
|
||||
...
|
||||
}: {
|
||||
nixosConfigurations = {
|
||||
# Add hostname here
|
||||
nixos = nixpkgs.lib.nixosSystem {
|
||||
system = "x86_64-linux";
|
||||
|
||||
modules = [
|
||||
./configuration.nix
|
||||
lix-module.nixosModules.default
|
||||
|
||||
chaotic.nixosModules.default
|
||||
#nix-ld.nixosModules.nix-ld
|
||||
#{ programs.nix-ld.dev.enable = true; }
|
||||
/*
|
||||
home-manager.nixosModules.home-manager {
|
||||
home-manager.useGlobalPkgs = true;
|
||||
home-manager.useUserPackages = true;
|
||||
home-manager.users.i3le = { ... }: {
|
||||
imports = [
|
||||
./system/home-manager/home.nix
|
||||
#nix-doom-emacs.hmModule
|
||||
nixvim.homeManagerModules.nixvim
|
||||
|
||||
];
|
||||
};
|
||||
} # comment out for fallback
|
||||
*/
|
||||
];
|
||||
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
7
services/bluetooth.nix
Normal file
7
services/bluetooth.nix
Normal file
|
@ -0,0 +1,7 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
|
||||
hardware.bluetooth.enable = true;
|
||||
|
||||
|
||||
}
|
28
services/container/phpmyadmin.nix
Normal file
28
services/container/phpmyadmin.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ lib, pkgs, config, ...}:
|
||||
{
|
||||
image = "phpmyadmin:latest";
|
||||
|
||||
environment = {
|
||||
"TZ" = "Europe/Berlin";
|
||||
"MYSQL_ROOT_PASSWORD" = "testdata";
|
||||
"PMA_HOST" = "127.0.0.1";
|
||||
#"PMA_ABSOLUTE_URI" = "http://localhost/phpmad.local";
|
||||
"UPLOAD_LIMIT" = "10M";
|
||||
};
|
||||
|
||||
volumes = [
|
||||
"/home/dbuser/phpmyadmin/config.user.inc.php:/etc/phpmyadmin/config.user.inc.php"
|
||||
];
|
||||
|
||||
extraOptions = [
|
||||
"--pull=newer" # Pull if the image on the registry is newer than the one in the local containers storage
|
||||
"--name=phpmyadmin"
|
||||
"--hostname=phpmyadmin"
|
||||
"--network=net_macvlan"
|
||||
"--ip=IP"
|
||||
"--mac-address=MAC"
|
||||
];
|
||||
|
||||
#dependsOn = [ "mariadb" ];
|
||||
|
||||
}
|
49
services/containers.nix
Normal file
49
services/containers.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
#import = [ ];
|
||||
|
||||
virtualisation = {
|
||||
podman = {
|
||||
enable = true;
|
||||
# Create a `docker` alias for podman, to use it as a drop-in replacement
|
||||
dockerCompat = true;
|
||||
# Required for containers under podman-compose to be able to talk to each other.
|
||||
defaultNetwork.settings.dns_enabled = true;
|
||||
};
|
||||
};
|
||||
environment.etc."/containers/containers.conf".text = "";
|
||||
|
||||
/*
|
||||
# PHPmyadmin
|
||||
systemd.services.create-podman-network = with config.virtualisation.oci-containers; {
|
||||
serviceConfig.Type = "oneshot";
|
||||
wantedBy = [ "${backend}-phpmyadmin.service" ];
|
||||
script = ''${pkgs.podman}/bin/podman network exists net_macvlan || \ ${pkgs.podman}/bin/podman network create --driver=macvlan --gateway=192.168.178.134.1 --subnet=192.168.178.134.0/24 -o parent=ens18 net_macvlan'';
|
||||
};
|
||||
containers = {
|
||||
phpmyadmin = import ./container/phpmyadmin.nix;
|
||||
};
|
||||
# Create folders for the containers
|
||||
system.activationScripts = {
|
||||
script.text = ''
|
||||
# phpMyAdmin
|
||||
install -d -m 755 /home/dbuser/phpmyadmin -o root -g root
|
||||
test -f /home/dbuser/phpmyadmin/config.user.inc.php || echo -e "<?php\n\n\$cfg['ShowPhpInfo'] = true; // Adds a link to phpinfo() on the home page\n\$cfg['SendErrorReports'] = 'never';" > /home/dbuser/phpmyadmin/config.user.inc.php
|
||||
'';
|
||||
};
|
||||
*/
|
||||
|
||||
# podman as systemd service
|
||||
/*
|
||||
virtualisation.oci-containers.backend = "podman";
|
||||
virtualisation.oci-containers.containers = {
|
||||
container-name = {
|
||||
image = "container-image";
|
||||
autoStart = true;
|
||||
ports = [ "127.0.0.1:1234:1234" ];
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
services.flatpak.enable = true;
|
||||
}
|
24
services/guix.nix
Normal file
24
services/guix.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{ config, lib, pkgs, ...}:
|
||||
{
|
||||
services.guix = {
|
||||
enable = true;
|
||||
gc = {
|
||||
enable = true;
|
||||
extraArgs = [
|
||||
"--optimize"
|
||||
];
|
||||
dates = "weekly";
|
||||
};
|
||||
storeDir = "/gnu/store";
|
||||
stateDir = "/gnu/var";
|
||||
publish.generateKeyPair = "true";
|
||||
publish.user = "guix-publish";
|
||||
publish.port = "8181";
|
||||
publish.extraArgs = [
|
||||
"--compression=zstd:6"
|
||||
"--discover=no"
|
||||
];
|
||||
group = "guixbuild";
|
||||
#nrBuildUsers = "10";
|
||||
};
|
||||
}
|
4
services/media.nix
Normal file
4
services/media.nix
Normal file
|
@ -0,0 +1,4 @@
|
|||
{ lib, config, pkgs, ...}:
|
||||
{
|
||||
services.mpd.enable = true;
|
||||
}
|
0
services/mosh.nix
Normal file
0
services/mosh.nix
Normal file
13
services/network.nix
Normal file
13
services/network.nix
Normal file
|
@ -0,0 +1,13 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
networking.networkmanager.enable = true;
|
||||
#networking.interfaces.wlan0.useDHCP = true;
|
||||
#networking.wireless.interfaces = ["wlan0"];
|
||||
#networking.wireless.iwd.enable = true;
|
||||
#networking.networkmanager.wifi.backend = "iwd";
|
||||
#services.connman.enable = true;
|
||||
#services.connman.extraFlags = [ ]
|
||||
|
||||
#services.openssh.enable = true;
|
||||
|
||||
}
|
12
services/secrets/configwiregurd
Normal file
12
services/secrets/configwiregurd
Normal file
|
@ -0,0 +1,12 @@
|
|||
[Interface]
|
||||
Address = 2a01:4f8:c012:59b8:ac1e::3/128
|
||||
PrivateKey = cAiqoZUf8eYt0LOFL2PCrQ6ZPcsKbGyRSnZzPIdRlnI=
|
||||
DNS = 1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001
|
||||
MTU = 1300
|
||||
|
||||
[Peer]
|
||||
PublicKey = /W5HGgyFBPB+3GLRgKwkAB14d4TOhPDR/3sYHu1d/wI=
|
||||
PresharedKey = JTecKVDA3RSfwcbaBtcEUG4RsTEUUJTJyb65aABQAmg=
|
||||
AllowedIPs = 0.0.0.0/0,::/0
|
||||
Endpoint = fumbled.strangled.net:51820
|
||||
PersistentKeepalive = 15
|
1
services/secrets/pre
Normal file
1
services/secrets/pre
Normal file
|
@ -0,0 +1 @@
|
|||
JTecKVDA3RSfwcbaBtcEUG4RsTEUUJTJyb65aABQAmg=
|
1
services/secrets/private
Normal file
1
services/secrets/private
Normal file
|
@ -0,0 +1 @@
|
|||
cAiqoZUf8eYt0LOFL2PCrQ6ZPcsKbGyRSnZzPIdRlnI=
|
1
services/secrets/public
Normal file
1
services/secrets/public
Normal file
|
@ -0,0 +1 @@
|
|||
/W5HGgyFBPB+3GLRgKwkAB14d4TOhPDR/3sYHu1d/wI=
|
12
services/vms.nix
Normal file
12
services/vms.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ lib, config, pkgs, ...}:
|
||||
{
|
||||
#virtualisation.virtualbox.host.enable = true;
|
||||
#users.extraGroups.vboxusers.members = [ "vieta" ];
|
||||
#virtualisation.virtualbox.guest.enable = true;
|
||||
#virtualisation.virtualbox.guest.x11 = true;
|
||||
|
||||
#virtualisation.waydroid.enable = true;
|
||||
boot.binfmt.emulatedSystems = [ "aarch64-linux" ];
|
||||
|
||||
|
||||
}
|
67
services/vpn1.nix
Normal file
67
services/vpn1.nix
Normal file
|
@ -0,0 +1,67 @@
|
|||
{ lib,config, pkgs, ...}:
|
||||
{
|
||||
|
||||
networking.firewall = {
|
||||
allowedUDPPorts = [ 51820 ]; # Clients and peers can use the same port, see listenport
|
||||
};
|
||||
|
||||
|
||||
networking.wireguard.interfaces = {
|
||||
# "wg0" is the network interface name. You can name the interface arbitrarily.
|
||||
wg0 = {
|
||||
# Determines the IP address and subnet of the client's end of the tunnel interface.
|
||||
ips = [ "2a01:4f8:c012:59b8:ac1e::3/128" ];
|
||||
listenPort = 51820; # to match firewall allowedUDPPorts (without this wg uses random port numbers)
|
||||
#dns = ["1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001"];
|
||||
mtu = ["1300"];
|
||||
# Path to the private key file.
|
||||
#
|
||||
# Note: The private key can also be included inline via the privateKey option,
|
||||
# but this makes the private key world-readable; thus, using privateKeyFile is
|
||||
# recommended.
|
||||
privateKeyFile = "./secrets/private";
|
||||
|
||||
peers = [
|
||||
# For a client configuration, one peer entry for the server will suffice.
|
||||
|
||||
{
|
||||
# Public key of the server (not a file path).
|
||||
publicKey = "JTecKVDA3RSfwcbaBtcEUG4RsTEUUJTJyb65aABQAmg=";
|
||||
presharedKeyFile = "./secrets/pre";
|
||||
# Forward all the traffic via VPN.
|
||||
allowedIPs = [ "0.0.0.0/0,::/0" ];
|
||||
# Or forward only particular subnets
|
||||
#allowedIPs = [ "10.100.0.1" "91.108.12.0/22" ];
|
||||
|
||||
# Set this to the server IP and port.
|
||||
endpoint = "fumbled.strangled.net:51820"; # ToDo: route to endpoint not automatically configured https://wiki.archlinux.org/index.php/WireGuard#Loop_routing https://discourse.nixos.org/t/solved-minimal-firewall-setup-for-wireguard-client/7577
|
||||
|
||||
# Send keepalives every 25 seconds. Important to keep NAT tables alive.
|
||||
persistentKeepalive = 15;
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
networks.wg0 = {
|
||||
# See also man systemd.network
|
||||
matchConfig.Name = "wg0";
|
||||
# IP addresses the client interface will have
|
||||
#address = [
|
||||
# "fe80::3/64"
|
||||
# "fc00::3/120"
|
||||
# "10.100.0.2/24"
|
||||
#];
|
||||
#DHCP = "no";
|
||||
#dns = ["1.1.1.1,1.0.0.1,2606:4700:4700::1111,2606:4700:4700::1001"];
|
||||
#ntp = ["fc00::123"];
|
||||
#gateway = [
|
||||
# "fc00::1"
|
||||
# "10.100.0.1"
|
||||
#];
|
||||
#networkConfig = {
|
||||
# IPv6AcceptRA = false;
|
||||
#};
|
||||
};
|
||||
|
||||
}
|
||||
|
53
services/vpn2.nix
Normal file
53
services/vpn2.nix
Normal file
|
@ -0,0 +1,53 @@
|
|||
{ lib,config, pkgs, ...}:
|
||||
{
|
||||
|
||||
networking.firewall = {
|
||||
allowedUDPPorts = [ 51820 ]; # Clients and peers can use the same port, see listenport
|
||||
};
|
||||
boot.extraModulePackages = [config.boot.kernelPackages.wireguard];
|
||||
systemd.network = {
|
||||
enable = true;
|
||||
netdevs = {
|
||||
"10-wg0" = {
|
||||
netdevConfig = {
|
||||
Kind = "wireguard";
|
||||
Name = "wg0";
|
||||
MTUBytes = "1300";
|
||||
};
|
||||
# See also man systemd.netdev (also contains info on the permissions of the key files)
|
||||
wireguardConfig = {
|
||||
# Don't use a file from the Nix store as these are world readable. Must be readable by the systemd.network user
|
||||
PrivateKeyFile = "./secrets/vpn2.nix";
|
||||
ListenPort = 51820;
|
||||
};
|
||||
wireguardPeers = [
|
||||
{
|
||||
PublicKey = "/W5HGgyFBPB+3GLRgKwkAB14d4TOhPDR/3sYHu1d/wI=";
|
||||
AllowedIPs = ["0.0.0.0/0,::/0" ];
|
||||
Endpoint = "fumbled.strangled.ne:51820";
|
||||
}
|
||||
];
|
||||
};
|
||||
};
|
||||
networks.wg0 = {
|
||||
# See also man systemd.network
|
||||
matchConfig.Name = "wg0";
|
||||
# IP addresses the client interface will have
|
||||
address = [
|
||||
"fe80::3/64"
|
||||
"fc00::3/120"
|
||||
"10.100.0.2/24"
|
||||
];
|
||||
DHCP = "no";
|
||||
dns = ["fc00::53"];
|
||||
ntp = ["fc00::123"];
|
||||
gateway = [
|
||||
"fc00::1"
|
||||
"10.100.0.1"
|
||||
];
|
||||
networkConfig = {
|
||||
IPv6AcceptRA = false;
|
||||
};
|
||||
};
|
||||
};
|
||||
}
|
40
system/desktop/dm.nix
Normal file
40
system/desktop/dm.nix
Normal file
|
@ -0,0 +1,40 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
/*
|
||||
import = [
|
||||
./xmonad/xmonad.nix
|
||||
];
|
||||
*/
|
||||
|
||||
services.xserver.enable = true;
|
||||
services.xserver = {
|
||||
xkb.layout = "de";
|
||||
xkb.variant = "";
|
||||
};
|
||||
services.displayManager.sddm.enable = true;
|
||||
#services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.excludePackages = with pkgs; [
|
||||
xterm
|
||||
];
|
||||
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
programs.dconf.enable = true;
|
||||
/*
|
||||
services.xserver.displayManager.sddm.theme = "${(pkgs.fetchFromGitHub {
|
||||
owner = "MarianArlt";
|
||||
repo = "kde-plasma-chili";
|
||||
rev = "a371123959676f608f01421398f7400a2f01ae06";
|
||||
sha256 = "17pkxpk4lfgm14yfwg6rw6zrkdpxilzv90s48s2hsicgl3vmyr3x";
|
||||
})}";
|
||||
*/
|
||||
}
|
52
system/desktop/fonts.nix
Normal file
52
system/desktop/fonts.nix
Normal file
|
@ -0,0 +1,52 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
|
||||
system.fsPackages = [ pkgs.bindfs ];
|
||||
fileSystems = let
|
||||
mkRoSymBind = path: {
|
||||
device = path;
|
||||
fsType = "fuse.bindfs";
|
||||
options = [ "ro" "resolve-symlinks" "x-gvfs-hide" ];
|
||||
};
|
||||
aggregatedIcons = pkgs.buildEnv {
|
||||
name = "system-icons";
|
||||
paths = with pkgs; [
|
||||
libsForQt5.breeze-qt5 # for plasma
|
||||
#gnome.gnome-themes-extra
|
||||
];
|
||||
pathsToLink = [ "/share/icons" ];
|
||||
};
|
||||
aggregatedFonts = pkgs.buildEnv {
|
||||
name = "system-fonts";
|
||||
paths = config.fonts.packages;
|
||||
pathsToLink = [ "/share/fonts" ];
|
||||
};
|
||||
in {
|
||||
"/usr/share/icons" = mkRoSymBind "${aggregatedIcons}/share/icons";
|
||||
"/usr/local/share/fonts" = mkRoSymBind "${aggregatedFonts}/share/fonts";
|
||||
};
|
||||
|
||||
fonts = {
|
||||
fontDir.enable = true;
|
||||
packages = with pkgs; [
|
||||
carlito
|
||||
dejavu_fonts
|
||||
ipafont
|
||||
kochi-substitute
|
||||
source-code-pro
|
||||
ttf_bitstream_vera
|
||||
noto-fonts
|
||||
noto-fonts-cjk
|
||||
noto-fonts-emoji
|
||||
liberation_ttf
|
||||
# waybar
|
||||
/*
|
||||
font-awesome
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })*/
|
||||
];
|
||||
};
|
||||
|
||||
}
|
||||
|
39
system/desktop/gnome.nix
Normal file
39
system/desktop/gnome.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{lib, conig, pkgs, ...}:
|
||||
{
|
||||
imports = [
|
||||
./dm.nix
|
||||
./fonts.nix
|
||||
];
|
||||
#services.xserver.enable = true;
|
||||
#services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
|
||||
environment.gnome.excludePackages = (with pkgs; [
|
||||
gnome-photos
|
||||
gnome-tour
|
||||
]) ++ (with pkgs.gnome; [
|
||||
cheese # webcam tool
|
||||
gnome-music
|
||||
gedit # text editor
|
||||
epiphany # web browser
|
||||
geary # email reader
|
||||
gnome-characters
|
||||
tali # poker game
|
||||
iagno # go game
|
||||
hitori # sudoku game
|
||||
atomix # puzzle game
|
||||
yelp # Help view
|
||||
gnome-contacts
|
||||
gnome-initial-setup
|
||||
]);
|
||||
programs.dconf.enable = true;
|
||||
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
||||
environment.systemPackages = with pkgs; [
|
||||
gnome.adwaita-icon-theme
|
||||
agnomeExtensions.appindicator
|
||||
gnomeExtensions.gnome-clipboard
|
||||
gnome-console # kgx
|
||||
|
||||
];
|
||||
|
||||
}
|
122
system/desktop/gnome/gnome-manager.nix
Normal file
122
system/desktop/gnome/gnome-manager.nix
Normal file
|
@ -0,0 +1,122 @@
|
|||
{ config, lib, pkgs, inputs, ...}:
|
||||
{
|
||||
|
||||
dconf = {
|
||||
enable = true;
|
||||
settings = {
|
||||
"org/gnome/shell" = {
|
||||
favorite-apps = [
|
||||
"floorp.desktop"
|
||||
"discord.desktop"
|
||||
"alacritty.desktop"
|
||||
"libreoffice-qt.desktop"
|
||||
"org.gnome.Terminal.desktop"
|
||||
#"virt-manager.desktop"
|
||||
"org.gnome.Nautilus.desktop"
|
||||
];
|
||||
};
|
||||
"org/gnome/desktop/wm/preferences" = {
|
||||
workspace-names = [ "Main" ];
|
||||
};
|
||||
"org/gnome/desktop/background" = {
|
||||
picture-uri = "file://" + ../wallpaper/haskellwp.png;
|
||||
picture-uri-dark = "file://" + ../wallpaper/haskellwp.png;
|
||||
color-shading-type = "solid";
|
||||
picture-options = "zoom";
|
||||
#picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-l.png";
|
||||
#picture-uri-dark = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png";
|
||||
};
|
||||
/*
|
||||
"org/gnome/desktop/screensaver" = {
|
||||
picture-uri = "file:///run/current-system/sw/share/backgrounds/gnome/vnc-d.png";
|
||||
primary-color = "#3465a4";
|
||||
secondary-color = "#000000";
|
||||
};*/
|
||||
# Keybind
|
||||
"org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0" = {
|
||||
name = "alacritty";
|
||||
command = "alacritty";
|
||||
binding = "<Ctrl><Alt>y";
|
||||
};
|
||||
# Touchpad
|
||||
"org/gnome/desktop/peripherals/touchpad" = {
|
||||
tap-to-click = true;
|
||||
two-finger-scrolling-enabled = true;
|
||||
};
|
||||
# Bar
|
||||
"org/gnome/desktop/interface" = {
|
||||
clock-show-seconds = true;
|
||||
clock-show-weekday = true;
|
||||
color-scheme = "prefer-dark";
|
||||
enable-hot-corners = false;
|
||||
font-antialiasing = "grayscale";
|
||||
font-hinting = "slight";
|
||||
#gtk-theme = "Nordic";
|
||||
toolkit-accessibility = true;
|
||||
};
|
||||
# OtherBind
|
||||
"org/gnome/desktop/wm/keybindings" = {
|
||||
activate-window-menu = "disabled";
|
||||
toggle-message-tray = "disabled";
|
||||
close = ["<Super>q"];
|
||||
maximize = "disabled";
|
||||
#minimize = ["<Super>comma"];
|
||||
move-to-monitor-down = "disabled";
|
||||
move-to-monitor-left = "disabled";
|
||||
move-to-monitor-right = "disabled";
|
||||
move-to-monitor-up = "disabled";
|
||||
move-to-workspace-down = "disabled";
|
||||
move-to-workspace-up = "disabled";
|
||||
toggle-maximized = ["<Super>m"];
|
||||
unmaximize = "disabled";
|
||||
};
|
||||
"org/gnome/shell" = {
|
||||
disable-user-extensions = false;
|
||||
|
||||
# `gnome-extensions list` for a list
|
||||
enabled-extensions = [
|
||||
"user-theme@gnome-shell-extensions.gcampax.github.com"
|
||||
"trayIconsReloaded@selfmade.pl"
|
||||
"Vitals@CoreCoding.com"
|
||||
];
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
# Theming
|
||||
gtk = {
|
||||
enable = true;
|
||||
iconTheme = {
|
||||
name = "Papirus-Dark";
|
||||
package = pkgs.papirus-icon-theme;
|
||||
};
|
||||
theme = {
|
||||
name = "palenight";
|
||||
package = pkgs.palenight-theme;
|
||||
};
|
||||
cursorTheme = {
|
||||
name = "Numix-Cursor";
|
||||
package = pkgs.numix-cursor-theme;
|
||||
};
|
||||
gtk3.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme=1
|
||||
'';
|
||||
};
|
||||
|
||||
gtk4.extraConfig = {
|
||||
Settings = ''
|
||||
gtk-application-prefer-dark-theme=1
|
||||
'';
|
||||
};
|
||||
};
|
||||
|
||||
home.packages = with pkgs; [
|
||||
gnomeExtensions.user-themes
|
||||
palenight-theme
|
||||
gnomeExtensions.vitals
|
||||
gnomeExtensions.tray-icons-reloaded
|
||||
gnomeExtensions.copier
|
||||
];
|
||||
|
||||
}
|
39
system/desktop/gnome/gnome.nix
Normal file
39
system/desktop/gnome/gnome.nix
Normal file
|
@ -0,0 +1,39 @@
|
|||
{lib, conig, pkgs, ...}:
|
||||
{
|
||||
imports = [
|
||||
../dm.nix
|
||||
#../fonts.nix
|
||||
];
|
||||
#services.xserver.enable = true;
|
||||
#services.xserver.displayManager.gdm.enable = true;
|
||||
services.xserver.desktopManager.gnome.enable = true;
|
||||
services.udev.packages = with pkgs; [ gnome.gnome-settings-daemon ];
|
||||
services.dbus.packages = with pkgs; [ gnome2.GConf ];
|
||||
|
||||
environment.gnome.excludePackages = (with pkgs; [
|
||||
gnome-photos
|
||||
gnome-tour
|
||||
gedit # text editor
|
||||
]) ++ (with pkgs.gnome; [
|
||||
cheese # webcam tool
|
||||
gnome-music
|
||||
#gedit # text editor
|
||||
epiphany # web browser
|
||||
geary # email reader
|
||||
gnome-characters
|
||||
tali # poker game
|
||||
iagno # go game
|
||||
hitori # sudoku game
|
||||
atomix # puzzle game
|
||||
yelp # Help view
|
||||
gnome-contacts
|
||||
gnome-initial-setup
|
||||
]);
|
||||
programs.dconf.enable = true;
|
||||
environment.systemPackages = with pkgs; [
|
||||
gnome.adwaita-icon-theme
|
||||
alacritty
|
||||
];
|
||||
|
||||
|
||||
}
|
197
system/desktop/hyprland.conf
Normal file
197
system/desktop/hyprland.conf
Normal file
|
@ -0,0 +1,197 @@
|
|||
|
||||
########################################################################################
|
||||
AUTOGENERATED HYPR CONFIG.
|
||||
PLEASE USE THE CONFIG PROVIDED IN THE GIT REPO /examples/hypr.conf AND EDIT IT,
|
||||
OR EDIT THIS ONE ACCORDING TO THE WIKI INSTRUCTIONS.
|
||||
########################################################################################
|
||||
|
||||
#
|
||||
# Please note not all available settings / options are set here.
|
||||
# For a full list, see the wiki
|
||||
#
|
||||
|
||||
#autogenerated = 1 # remove this line to remove the warning
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
#monitor=,preferred,auto,auto
|
||||
#monitor=DP-1,1920x1080@60,0x0,1
|
||||
#monitor=DP-1, 1920x1080, 0x0, 1
|
||||
monitor=,highres,auto,1
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
# Execute your favorite apps at launch
|
||||
exec-once = waybar & hyprpaper & firefox
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
# Some default env vars.
|
||||
env = XCURSOR_SIZE,24
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = de
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = yes
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
}
|
||||
|
||||
general {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
gaps_in = 4
|
||||
gaps_out = 15
|
||||
border_size = 2
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
layout = dwindle
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
}
|
||||
|
||||
decoration {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
rounding = 10
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
}
|
||||
|
||||
drop_shadow = yes
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
|
||||
dwindle {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = yes # you probably want this
|
||||
}
|
||||
|
||||
master {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_is_master = true
|
||||
}
|
||||
|
||||
gestures {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = off
|
||||
}
|
||||
|
||||
misc {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||
device:epic-mouse-v1 {
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
#$mainMod = SUPER
|
||||
$mainMod = ALT_L
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, RETURN, exec, alacritty
|
||||
bind = $mainMod SHIFT, Q, killactive,
|
||||
bind = $mainMod SHIFT, E, exit,
|
||||
bind = $mainMod, F, exec, dolphin
|
||||
bind = $mainMod, space, togglefloating,
|
||||
bind = $mainMod, D, exec, fuzzel
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, S, togglesplit, # dwindle
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, T, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
|
||||
# Screenshot
|
||||
bind =,Print, exec, grim #-l 0 "(slurp)" - | wl-copy
|
||||
|
||||
# Volume
|
||||
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
|
||||
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
|
||||
bind = , XF86AudioMicMute, exec, pamixer --default-source -m
|
||||
bind = , XF86AudioMute, exec, pamixer -t
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bind = , XF86AudioPause, exec, playerctl play-pause
|
||||
bind = , XF86AudioNext, exec, playerctl next
|
||||
bind = , XF86AudioPrev, exec, playerctl previous
|
105
system/desktop/hyprland.nix
Normal file
105
system/desktop/hyprland.nix
Normal file
|
@ -0,0 +1,105 @@
|
|||
{lib, config, pkgs, ...}:
|
||||
{
|
||||
imports = [
|
||||
./dm.nix
|
||||
./fonts.nix
|
||||
];
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
# light
|
||||
services.illum.enable = true;
|
||||
|
||||
programs.dconf.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# theme
|
||||
libsForQt5.qt5.qtquickcontrols2
|
||||
libsForQt5.qt5.qtgraphicaleffects
|
||||
waybar
|
||||
# workspace correction
|
||||
(pkgs.waybar.overrideAttrs (oldAttrs: {
|
||||
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||
})
|
||||
)
|
||||
# notify daemon
|
||||
dunst
|
||||
libnotify
|
||||
# wallpaper
|
||||
swww
|
||||
swaybg
|
||||
# terminal
|
||||
alacritty
|
||||
# app launcher
|
||||
tofi
|
||||
#bemenu
|
||||
#rofi-wayland
|
||||
#wofi
|
||||
fuzzel
|
||||
# screenshot
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
# sound control
|
||||
pavucontrol
|
||||
pamixer
|
||||
# brightness extra
|
||||
brightnessctl
|
||||
# fm
|
||||
#xfce.thunar
|
||||
#dolphin
|
||||
gnome.nautilus
|
||||
#cinnamon.nemo
|
||||
# lockscreen
|
||||
swaylock
|
||||
# applets
|
||||
#networkmanagerapplet
|
||||
#flameshot
|
||||
];
|
||||
/*xdg.portal.enable = true;
|
||||
xdg.portal.extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
];*/
|
||||
security.pam.services.swaylock = {};
|
||||
/*
|
||||
fonts.packages = with pkgs; [
|
||||
font-awesome
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
|
||||
];
|
||||
*/
|
||||
environment.sessionVariables = {
|
||||
#WLR_NO_HARDWARE_CURSORS = "1";
|
||||
# electron support
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
|
||||
/*
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
command = "/usr/bin/env hyprland";
|
||||
user = "vieta";
|
||||
};
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
*/
|
||||
/*
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
command = "${pkgs.hyprland}/bin/Hyprland";
|
||||
user = "vieta";
|
||||
};
|
||||
default_session = initial_session;
|
||||
#default_session = initial_session;
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
}
|
261
system/desktop/hyprland/hyprland-manager.nix
Normal file
261
system/desktop/hyprland/hyprland-manager.nix
Normal file
|
@ -0,0 +1,261 @@
|
|||
{ input, options, lib, config, pkgs, ... }:
|
||||
{
|
||||
|
||||
wayland.windowManager.hyprland.enable = true;
|
||||
wayland.windowManager.hyprland.settings = {
|
||||
"$mod" = "ALT_L";
|
||||
bind =
|
||||
[
|
||||
"$mod, F, exec, floorp"
|
||||
", Print, exec, grimblast copy area"
|
||||
|
||||
]
|
||||
++ (
|
||||
# workspaces
|
||||
# binds $mod + [shift +] {1..10} to [move to] workspace {1..10}
|
||||
builtins.concatLists (builtins.genList (
|
||||
x: let
|
||||
ws = let
|
||||
c = (x + 1) / 10;
|
||||
in
|
||||
builtins.toString (x + 1 - (c * 10));
|
||||
in [
|
||||
"$mod, ${ws}, workspace, ${toString (x + 1)}"
|
||||
"$mod SHIFT, ${ws}, movetoworkspace, ${toString (x + 1)}"
|
||||
]
|
||||
)
|
||||
10)
|
||||
);
|
||||
};
|
||||
|
||||
home.pointerCursor = {
|
||||
gtk.enable = true;
|
||||
x11.enable = true;
|
||||
package = pkgs.bibata-cursors;
|
||||
name = "Bibata-Modern-Classic";
|
||||
size = 16;
|
||||
};
|
||||
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
package = pkgs.flat-remix-gtk;
|
||||
name = "Flat-Remix-GTK-Grey-Darkest";
|
||||
};
|
||||
|
||||
iconTheme = {
|
||||
package = pkgs.gnome.adwaita-icon-theme;
|
||||
name = "Adwaita";
|
||||
};
|
||||
|
||||
font = {
|
||||
name = "Sans";
|
||||
size = 11;
|
||||
};
|
||||
};
|
||||
|
||||
/*
|
||||
home.file = {
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
# HELIX
|
||||
".config/hyprland/hyprland.config".text = ''
|
||||
# generated by home-manager
|
||||
|
||||
#autogenerated = 1 # remove this line to remove the warning
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Monitors/
|
||||
#monitor=,preferred,auto,auto
|
||||
#monitor=DP-1,1920x1080@60,0x0,1
|
||||
#monitor=DP-1, 1920x1080, 0x0, 1
|
||||
monitor=,highres,auto,1
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
|
||||
# Execute your favorite apps at launch
|
||||
#exec-once = waybar & hyprpaper & firefox
|
||||
exec-once = eww
|
||||
|
||||
# Source a file (multi-file configs)
|
||||
# source = ~/.config/hypr/myColors.conf
|
||||
|
||||
# Some default env vars.
|
||||
env = XCURSOR_SIZE,24
|
||||
|
||||
# For all categories, see https://wiki.hyprland.org/Configuring/Variables/
|
||||
input {
|
||||
kb_layout = de
|
||||
kb_variant =
|
||||
kb_model =
|
||||
kb_options =
|
||||
kb_rules =
|
||||
|
||||
follow_mouse = 1
|
||||
|
||||
touchpad {
|
||||
natural_scroll = yes
|
||||
}
|
||||
|
||||
sensitivity = 0 # -1.0 - 1.0, 0 means no modification.
|
||||
}
|
||||
|
||||
general {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
gaps_in = 4
|
||||
gaps_out = 15
|
||||
border_size = 2
|
||||
col.active_border = rgba(33ccffee) rgba(00ff99ee) 45deg
|
||||
col.inactive_border = rgba(595959aa)
|
||||
|
||||
layout = dwindle
|
||||
|
||||
# Please see https://wiki.hyprland.org/Configuring/Tearing/ before you turn this on
|
||||
allow_tearing = false
|
||||
}
|
||||
|
||||
decoration {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
|
||||
rounding = 10
|
||||
|
||||
blur {
|
||||
enabled = true
|
||||
size = 3
|
||||
passes = 1
|
||||
}
|
||||
|
||||
drop_shadow = yes
|
||||
shadow_range = 4
|
||||
shadow_render_power = 3
|
||||
col.shadow = rgba(1a1a1aee)
|
||||
}
|
||||
|
||||
animations {
|
||||
enabled = yes
|
||||
|
||||
# Some default animations, see https://wiki.hyprland.org/Configuring/Animations/ for more
|
||||
|
||||
bezier = myBezier, 0.05, 0.9, 0.1, 1.05
|
||||
|
||||
animation = windows, 1, 7, myBezier
|
||||
animation = windowsOut, 1, 7, default, popin 80%
|
||||
animation = border, 1, 10, default
|
||||
animation = borderangle, 1, 8, default
|
||||
animation = fade, 1, 7, default
|
||||
animation = workspaces, 1, 6, default
|
||||
}
|
||||
|
||||
dwindle {
|
||||
# See https://wiki.hyprland.org/Configuring/Dwindle-Layout/ for more
|
||||
pseudotile = yes # master switch for pseudotiling. Enabling is bound to mainMod + P in the keybinds section below
|
||||
preserve_split = yes # you probably want this
|
||||
}
|
||||
|
||||
master {
|
||||
# See https://wiki.hyprland.org/Configuring/Master-Layout/ for more
|
||||
new_is_master = true
|
||||
}
|
||||
|
||||
gestures {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
workspace_swipe = off
|
||||
}
|
||||
|
||||
misc {
|
||||
# See https://wiki.hyprland.org/Configuring/Variables/ for more
|
||||
force_default_wallpaper = -1 # Set to 0 to disable the anime mascot wallpapers
|
||||
}
|
||||
|
||||
# Example per-device config
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/#executing for more
|
||||
device:epic-mouse-v1 {
|
||||
sensitivity = -0.5
|
||||
}
|
||||
|
||||
# Example windowrule v1
|
||||
# windowrule = float, ^(kitty)$
|
||||
# Example windowrule v2
|
||||
# windowrulev2 = float,class:^(kitty)$,title:^(kitty)$
|
||||
# See https://wiki.hyprland.org/Configuring/Window-Rules/ for more
|
||||
|
||||
|
||||
# See https://wiki.hyprland.org/Configuring/Keywords/ for more
|
||||
#$mainMod = SUPER
|
||||
$mainMod = ALT_L
|
||||
|
||||
# Example binds, see https://wiki.hyprland.org/Configuring/Binds/ for more
|
||||
bind = $mainMod, RETURN, exec, alacritty
|
||||
bind = $mainMod SHIFT, Q, killactive,
|
||||
bind = $mainMod SHIFT, E, exit,
|
||||
bind = $mainMod, F, exec, dolphin
|
||||
bind = $mainMod, space, togglefloating,
|
||||
bind = $mainMod, D, exec, fuzzel
|
||||
bind = $mainMod, P, pseudo, # dwindle
|
||||
bind = $mainMod, S, togglesplit, # dwindle
|
||||
|
||||
# Move focus with mainMod + arrow keys
|
||||
bind = $mainMod, left, movefocus, l
|
||||
bind = $mainMod, right, movefocus, r
|
||||
bind = $mainMod, up, movefocus, u
|
||||
bind = $mainMod, down, movefocus, d
|
||||
|
||||
# Switch workspaces with mainMod + [0-9]
|
||||
bind = $mainMod, 1, workspace, 1
|
||||
bind = $mainMod, 2, workspace, 2
|
||||
bind = $mainMod, 3, workspace, 3
|
||||
bind = $mainMod, 4, workspace, 4
|
||||
bind = $mainMod, 5, workspace, 5
|
||||
bind = $mainMod, 6, workspace, 6
|
||||
bind = $mainMod, 7, workspace, 7
|
||||
bind = $mainMod, 8, workspace, 8
|
||||
bind = $mainMod, 9, workspace, 9
|
||||
bind = $mainMod, 0, workspace, 10
|
||||
|
||||
# Move active window to a workspace with mainMod + SHIFT + [0-9]
|
||||
bind = $mainMod SHIFT, 1, movetoworkspace, 1
|
||||
bind = $mainMod SHIFT, 2, movetoworkspace, 2
|
||||
bind = $mainMod SHIFT, 3, movetoworkspace, 3
|
||||
bind = $mainMod SHIFT, 4, movetoworkspace, 4
|
||||
bind = $mainMod SHIFT, 5, movetoworkspace, 5
|
||||
bind = $mainMod SHIFT, 6, movetoworkspace, 6
|
||||
bind = $mainMod SHIFT, 7, movetoworkspace, 7
|
||||
bind = $mainMod SHIFT, 8, movetoworkspace, 8
|
||||
bind = $mainMod SHIFT, 9, movetoworkspace, 9
|
||||
bind = $mainMod SHIFT, 0, movetoworkspace, 10
|
||||
|
||||
# Example special workspace (scratchpad)
|
||||
bind = $mainMod, T, togglespecialworkspace, magic
|
||||
bind = $mainMod SHIFT, S, movetoworkspace, special:magic
|
||||
|
||||
# Scroll through existing workspaces with mainMod + scroll
|
||||
bind = $mainMod, mouse_down, workspace, e+1
|
||||
bind = $mainMod, mouse_up, workspace, e-1
|
||||
|
||||
# Move/resize windows with mainMod + LMB/RMB and dragging
|
||||
bindm = $mainMod, mouse:272, movewindow
|
||||
bindm = $mainMod, mouse:273, resizewindow
|
||||
|
||||
# Clipboard
|
||||
exec-once = wl-paste --type text --watch cliphist store #Stores only text data
|
||||
exec-once = wl-paste --type image --watch cliphist store #Stores only image data
|
||||
|
||||
# Screenshot
|
||||
bind =,Print, exec, grim #-l 0 "(slurp)" - | wl-copy
|
||||
|
||||
# Volume
|
||||
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5
|
||||
bind = , XF86AudioLowerVolume, exec, pamixer -d 5
|
||||
bind = , XF86AudioMicMute, exec, pamixer --default-source -m
|
||||
bind = , XF86AudioMute, exec, pamixer -t
|
||||
bind = , XF86AudioPlay, exec, playerctl play-pause
|
||||
bind = , XF86AudioPause, exec, playerctl play-pause
|
||||
bind = , XF86AudioNext, exec, playerctl next
|
||||
bind = , XF86AudioPrev, exec, playerctl previous
|
||||
'';
|
||||
};
|
||||
*/
|
||||
|
||||
}
|
115
system/desktop/hyprland/hyprland.nix
Normal file
115
system/desktop/hyprland/hyprland.nix
Normal file
|
@ -0,0 +1,115 @@
|
|||
{lib, config, pkgs, ...}:
|
||||
{
|
||||
imports = [
|
||||
../dm.nix
|
||||
../fonts.nix
|
||||
];
|
||||
programs.hyprland = {
|
||||
enable = true;
|
||||
xwayland.enable = true;
|
||||
};
|
||||
# light
|
||||
services.illum.enable = true;
|
||||
|
||||
#programs.dconf.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
# theme
|
||||
gnome.adwaita-icon-theme
|
||||
libsForQt5.qt5.qtquickcontrols2
|
||||
libsForQt5.qt5.qtgraphicaleffects
|
||||
#theme-obsidian2
|
||||
eww
|
||||
#waybar
|
||||
# workspace correction
|
||||
(pkgs.waybar.overrideAttrs (oldAttrs: {
|
||||
mesonFlags = oldAttrs.mesonFlags ++ [ "-Dexperimental=true" ];
|
||||
})
|
||||
)
|
||||
# notify daemon
|
||||
dunst
|
||||
libnotify
|
||||
# wallpaper
|
||||
swww
|
||||
swaybg
|
||||
# terminal
|
||||
alacritty
|
||||
# app launcher
|
||||
tofi
|
||||
#bemenu
|
||||
#rofi-wayland
|
||||
#wofi
|
||||
fuzzel
|
||||
# screenshot
|
||||
#ksnip
|
||||
swappy
|
||||
gwenview
|
||||
grim
|
||||
slurp
|
||||
wl-clipboard
|
||||
cliphist
|
||||
gscreenshot
|
||||
# sound control
|
||||
pavucontrol
|
||||
pamixer
|
||||
# brightness extra
|
||||
brightnessctl
|
||||
# fm
|
||||
#xfce.thunar
|
||||
#dolphin
|
||||
gnome.nautilus
|
||||
#cinnamon.nemo
|
||||
# lockscreen
|
||||
swaylock
|
||||
# applets
|
||||
#networkmanagerapplet
|
||||
#flameshot
|
||||
grimblast
|
||||
];
|
||||
xdg.portal.extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
security.pam.services.swaylock = {};
|
||||
|
||||
fonts.packages = with pkgs; [
|
||||
|
||||
font-awesome
|
||||
powerline-fonts
|
||||
powerline-symbols
|
||||
(nerdfonts.override { fonts = [ "NerdFontsSymbolsOnly" ]; })
|
||||
|
||||
];
|
||||
|
||||
environment.sessionVariables = {
|
||||
#WLR_NO_HARDWARE_CURSORS = "1";
|
||||
# electron support
|
||||
NIXOS_OZONE_WL = "1";
|
||||
};
|
||||
/*
|
||||
gtk = {
|
||||
enable = true;
|
||||
theme = {
|
||||
package = pkgs.adw-gtk3;
|
||||
name = "adw-gtk3";
|
||||
};
|
||||
};*/
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gnome";
|
||||
style = "adwaita-dark";
|
||||
};
|
||||
|
||||
/*
|
||||
services.greetd = {
|
||||
enable = true;
|
||||
settings = rec {
|
||||
initial_session = {
|
||||
command = "/usr/bin/env hyprland";
|
||||
user = "vieta";
|
||||
};
|
||||
default_session = initial_session;
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
}
|
18
system/desktop/leftwm/leftwm-manager.nix
Normal file
18
system/desktop/leftwm/leftwm-manager.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ lib, pkgs, config, inputs, ...}:
|
||||
{
|
||||
xdg = {
|
||||
|
||||
enable = true;
|
||||
|
||||
configFile."leftwm/themes/current" = {
|
||||
|
||||
source = ./xmobar;
|
||||
|
||||
|
||||
#recursive = true;
|
||||
|
||||
};
|
||||
portal.config.common.default = "";
|
||||
};
|
||||
|
||||
}
|
8
system/desktop/leftwm/leftwm.nix
Normal file
8
system/desktop/leftwm/leftwm.nix
Normal file
|
@ -0,0 +1,8 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
imports = [
|
||||
../dm.nix
|
||||
../fonts.nix
|
||||
];
|
||||
services.xserver.windowManager.leftwm.enable = true;
|
||||
}
|
BIN
system/desktop/leftwm/xmobar/background.jpg
Normal file
BIN
system/desktop/leftwm/xmobar/background.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 MiB |
2
system/desktop/leftwm/xmobar/change_to_tag
Executable file
2
system/desktop/leftwm/xmobar/change_to_tag
Executable file
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/env bash
|
||||
leftwm-command "SendWorkspaceToTag $1 $2"
|
19
system/desktop/leftwm/xmobar/down
Executable file
19
system/desktop/leftwm/xmobar/down
Executable file
|
@ -0,0 +1,19 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||
|
||||
#set background
|
||||
if [ -x "$(command -v feh)" ]; then
|
||||
feh --bg-scale $SCRIPTPATH/reset.jpg
|
||||
fi
|
||||
|
||||
leftwm-command "UnloadTheme"
|
||||
|
||||
|
||||
ps -alh | grep xmobar_control_script | awk '{print $3}' | xargs kill
|
||||
|
||||
pkill compton
|
||||
pkill picom
|
||||
pkill xmobar
|
||||
pkill xmobar
|
||||
|
BIN
system/desktop/leftwm/xmobar/reset.jpg
Normal file
BIN
system/desktop/leftwm/xmobar/reset.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 539 B |
3
system/desktop/leftwm/xmobar/sizes.liquid
Normal file
3
system/desktop/leftwm/xmobar/sizes.liquid
Normal file
|
@ -0,0 +1,3 @@
|
|||
{% for w in workspaces %}
|
||||
Static { xpos = {{w.x}} , ypos = {{w.y}}, width = {{w.w}}, height = 24 }
|
||||
{% endfor %}
|
12
system/desktop/leftwm/xmobar/template.liquid
Normal file
12
system/desktop/leftwm/xmobar/template.liquid
Normal file
|
@ -0,0 +1,12 @@
|
|||
{% for tag in workspace.tags %}
|
||||
{% if tag.mine %}
|
||||
<action=`$SCRIPTPATH/change_to_tag {{workspace.index}} {{tag.index}}`><fc=#FF0000> {{tag.name}} </fc></action>
|
||||
{% elsif tag.visible %}
|
||||
<action=`$SCRIPTPATH/change_to_tag {{workspace.index}} {{tag.index}}`><fc=#FF9999> {{tag.name}} </fc></action>
|
||||
{% elsif tag.busy %}
|
||||
<action=`$SCRIPTPATH/change_to_tag {{workspace.index}} {{tag.index}}`> {{tag.name}}* </action>
|
||||
{% else %}
|
||||
<action=`$SCRIPTPATH/change_to_tag {{workspace.index}} {{tag.index}}`><fc=#FFFFFF> {{tag.name}} </fc></action>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
<fc=#555555> {{ window_title }}</fc>
|
6
system/desktop/leftwm/xmobar/theme.ron
Normal file
6
system/desktop/leftwm/xmobar/theme.ron
Normal file
|
@ -0,0 +1,6 @@
|
|||
(border_width: 2,
|
||||
margin: 12,
|
||||
default_border_color: "#222222",
|
||||
floating_border_color: "#555555",
|
||||
focused_border_color: "#FF3333",
|
||||
)
|
35
system/desktop/leftwm/xmobar/up
Executable file
35
system/desktop/leftwm/xmobar/up
Executable file
|
@ -0,0 +1,35 @@
|
|||
#!/usr/bin/env bash
|
||||
export SCRIPTPATH="$( cd "$(dirname "$0")" ; pwd -P )"
|
||||
|
||||
|
||||
#down the last running theme
|
||||
if [ -f "/tmp/leftwm-theme-down" ]; then
|
||||
/tmp/leftwm-theme-down
|
||||
rm /tmp/leftwm-theme-down
|
||||
fi
|
||||
ln -s $SCRIPTPATH/down /tmp/leftwm-theme-down
|
||||
|
||||
|
||||
#boot compton or picom if it exists
|
||||
if [ -x "$(command -v compton)" ]; then
|
||||
compton &> /dev/null &
|
||||
elif [ -x "$(command -v picom)" ]; then
|
||||
picom &> /dev/null &
|
||||
fi
|
||||
|
||||
#set the theme.ron config
|
||||
leftwm-command "LoadTheme $SCRIPTPATH/theme.ron"
|
||||
|
||||
|
||||
#set background
|
||||
if [ -x "$(command -v feh)" ]; then
|
||||
feh --bg-scale $SCRIPTPATH/background.jpg
|
||||
fi
|
||||
|
||||
index=0
|
||||
leftwm-state -q -n -t $SCRIPTPATH/sizes.liquid | sed -r '/^\s*$/d' | while read size
|
||||
do
|
||||
leftwm-state -w $index -t $SCRIPTPATH/template.liquid | xmobar -p "$size" $SCRIPTPATH/xmobar-config.hs &
|
||||
let index=index+1
|
||||
done
|
||||
|
23
system/desktop/leftwm/xmobar/xmobar-config.hs
Normal file
23
system/desktop/leftwm/xmobar/xmobar-config.hs
Normal file
|
@ -0,0 +1,23 @@
|
|||
|
||||
|
||||
Config { font = "-misc-fixed-*-*-*-*-13-*-*-*-*-*-*-*"
|
||||
, bgColor = "black"
|
||||
, fgColor = "grey"
|
||||
, position = Top
|
||||
, lowerOnStart = True
|
||||
, allDesktops = True
|
||||
, pickBroadest = False
|
||||
, overrideRedirect = False
|
||||
, commands = [ Run Weather "KSHV" ["-t"," <tempF>F","-L","64","-H","77","--normal","green","--high","red","--low","lightblue"] 36000
|
||||
, Run Network "eno1" ["-L","0","-H","32","--normal","green","--high","red"] 10
|
||||
, Run MultiCpu ["-L","15","-H","50","--normal","green","--high","red"] 10
|
||||
, Run Memory [] 10
|
||||
, Run Swap [] 10
|
||||
, Run TopProc [] 10
|
||||
, Run Date "%a %b %_d %Y %H:%M:%S" "date" 10
|
||||
, Run UnsafeStdinReader
|
||||
]
|
||||
, sepChar = "%"
|
||||
, alignSep = "}{"
|
||||
, template = "%UnsafeStdinReader% }{ %top% | %multicpu% | %memory% * %swap% | %eno1% | %date% | %KSHV%"
|
||||
}
|
38
system/desktop/plasma.nix
Normal file
38
system/desktop/plasma.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
./dm.nix
|
||||
./fonts.nix
|
||||
#./xmonad/xmonad.nix
|
||||
];
|
||||
|
||||
services.desktopManager.plasma6.enable = true;
|
||||
services.desktopManager.plasma6.enableQt5Integration = true;
|
||||
|
||||
environment.plasma6.excludePackages = with pkgs.kdePackages; [
|
||||
elisa
|
||||
oxygen
|
||||
khelpcenter
|
||||
plasma-browser-integration
|
||||
print-manager
|
||||
];
|
||||
|
||||
programs.dconf.enable = true;
|
||||
#services.system76-scheduler.enable = true;
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
#hardware.bluetooth.enable = true;
|
||||
|
||||
/*
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
}
|
0
system/desktop/plasma/plasma-manager.nix
Normal file
0
system/desktop/plasma/plasma-manager.nix
Normal file
38
system/desktop/plasma/plasma.nix
Normal file
38
system/desktop/plasma/plasma.nix
Normal file
|
@ -0,0 +1,38 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
imports = [
|
||||
../dm.nix
|
||||
../fonts.nix
|
||||
];
|
||||
|
||||
# Enable the Plasma 5 Desktop Environment.
|
||||
#services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
||||
elisa
|
||||
oxygen
|
||||
khelpcenter
|
||||
plasma-browser-integration
|
||||
print-manager
|
||||
];
|
||||
#programs.dconf.enable = true;
|
||||
services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||
#services.system76-scheduler.enable = true;
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
#hardware.bluetooth.enable = true;
|
||||
|
||||
/*
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
}
|
||||
|
24
system/desktop/plasma/plasma5.nix
Normal file
24
system/desktop/plasma/plasma5.nix
Normal file
|
@ -0,0 +1,24 @@
|
|||
{lib, config, pkgs, ...}:
|
||||
{
|
||||
services.xserver.enable = true;
|
||||
services.xserver= {
|
||||
xkb.layout ="de";
|
||||
xkb.variant = "";
|
||||
};
|
||||
services.xserver.displayManager.sddm.enable = true;
|
||||
services.xserver.desktopManager.plasma5.enable = true;
|
||||
environment.plasma5.excludePackages = with pkgs.libsForQt5; [
|
||||
plasma-browser-integration
|
||||
#konsole
|
||||
oxygen
|
||||
kate
|
||||
];
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gnome";
|
||||
style = "adwaita";
|
||||
};
|
||||
programs.dconf.enable = true;
|
||||
services.xserver.displayManager.defaultSession = "plasmawayland";
|
||||
|
||||
}
|
18
system/desktop/river/river.nix
Normal file
18
system/desktop/river/river.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
# called by Home manager
|
||||
{ options, config, lib, pkgs, inputs, ... }:
|
||||
{
|
||||
programs.river.enable = true;
|
||||
#programs.river.package
|
||||
/*
|
||||
programs.river.extraPackages = with pkgs;
|
||||
[
|
||||
#swaylock
|
||||
#alacritty
|
||||
#foot
|
||||
#dmenu
|
||||
wofi
|
||||
light
|
||||
];*/
|
||||
#services.illum.enable = true;
|
||||
|
||||
}
|
23
system/desktop/themes.nix
Normal file
23
system/desktop/themes.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
# called by home-manager
|
||||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
gtk = {
|
||||
enable = true;
|
||||
cursorTheme = {
|
||||
package = pkgs.capitaine-cursors;
|
||||
name = "capitaine-cursors";
|
||||
size = 32;
|
||||
};
|
||||
iconTheme.package = pkgs.tela-icon-theme;
|
||||
iconTheme.name = "Tela";
|
||||
|
||||
theme.package = pkgs.graphite-gtk-theme;
|
||||
theme.name = "Graphite-Dark";
|
||||
};
|
||||
|
||||
qt = {
|
||||
enable = true;
|
||||
platformTheme = "gtk";
|
||||
};
|
||||
}
|
||||
|
BIN
system/desktop/wallpaper/haskellwp.png
Normal file
BIN
system/desktop/wallpaper/haskellwp.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 657 KiB |
28
system/desktop/xfce.nix
Normal file
28
system/desktop/xfce.nix
Normal file
|
@ -0,0 +1,28 @@
|
|||
{ lib, pkgs, config, ... }:
|
||||
{
|
||||
services.xserver.enable = true;
|
||||
services.xserver.desktopManager.xfce.enableXfwm = true;
|
||||
# Enable the XFCE Desktop Environment.
|
||||
services.xserver.displayManager.lightdm.enable = true;
|
||||
services.xserver.desktopManager.xfce.enable = true;
|
||||
programs.xwayland.enable = true;
|
||||
# Configure keymap in X11
|
||||
services.xserver = {
|
||||
layout = "de";
|
||||
xkbVariant = "";
|
||||
};
|
||||
environment.systemPackages = with pkgs; [
|
||||
xfce.xfce4-pulseaudio-plugin
|
||||
];
|
||||
|
||||
xdg = {
|
||||
portal = {
|
||||
enable = true;
|
||||
extraPortals = with pkgs; [
|
||||
xdg-desktop-portal-wlr
|
||||
xdg-desktop-portal-gtk
|
||||
];
|
||||
};
|
||||
};
|
||||
|
||||
}
|
27
system/desktop/xmonad/theme.yml
Normal file
27
system/desktop/xmonad/theme.yml
Normal file
|
@ -0,0 +1,27 @@
|
|||
colors:
|
||||
# Default colors
|
||||
primary:
|
||||
background: '0x1b182c'
|
||||
foreground: '0xcbe3e7'
|
||||
|
||||
# Normal colors
|
||||
normal:
|
||||
black: '0x100e23'
|
||||
red: '0xff8080'
|
||||
green: '0x95ffa4'
|
||||
yellow: '0xffe9aa'
|
||||
blue: '0x91ddff'
|
||||
magenta: '0xc991e1'
|
||||
cyan: '0xaaffe4'
|
||||
white: '0xcbe3e7'
|
||||
|
||||
# Bright colors
|
||||
bright:
|
||||
black: '0x565575'
|
||||
red: '0xff5458'
|
||||
green: '0x62d196'
|
||||
yellow: '0xffb378'
|
||||
blue: '0x65b2ff'
|
||||
magenta: '0x906cff'
|
||||
cyan: '0x63f2f1'
|
||||
white: '0xa6b3cc'
|
27
system/desktop/xmonad/xfce.nix
Normal file
27
system/desktop/xmonad/xfce.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ lib, config, pkgs, ...}:
|
||||
{
|
||||
imports = [
|
||||
./xmonad.hs
|
||||
];
|
||||
services.xserver = {
|
||||
desktopManager = {
|
||||
xfce = {
|
||||
enable = true;
|
||||
noDesktop = true;
|
||||
enableXfwm = false;
|
||||
};
|
||||
};
|
||||
windowManager = {
|
||||
xmonad = {
|
||||
enable = true;
|
||||
enableContribAndExtras = true;
|
||||
extraPackages = haskellPackages : [
|
||||
haskellPackages.xmonad-contrib
|
||||
haskellPackages.xmonad-extras
|
||||
haskellPackages.xmonad
|
||||
];
|
||||
};
|
||||
};
|
||||
# displayManager.defaultSession = "xfce+xmonad";
|
||||
};
|
||||
}
|
6
system/desktop/xmonad/xmonad-config.hs
Normal file
6
system/desktop/xmonad/xmonad-config.hs
Normal file
|
@ -0,0 +1,6 @@
|
|||
import XMonad
|
||||
|
||||
main = xmonad defaultConfig
|
||||
{ modMask = mod1Mask -- super instead of alt (usually Windows key)
|
||||
, terminal = "alacritty"
|
||||
}
|
25
system/desktop/xmonad/xmonad-manager.nix
Normal file
25
system/desktop/xmonad/xmonad-manager.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ lib, config, pkgs, ...}:
|
||||
{
|
||||
xsession = {
|
||||
enable = true;
|
||||
|
||||
#initExtra = polybarOpts;
|
||||
|
||||
windowManager.xmonad = {
|
||||
#enable = true;
|
||||
#enableContribAndExtras = true;
|
||||
extraPackages = hp: [
|
||||
hp.dbus
|
||||
hp.monad-logger
|
||||
hp.xmonad-contrib
|
||||
];
|
||||
config = ./xmonad-config.hs;
|
||||
};
|
||||
};
|
||||
|
||||
programs.rofi = {
|
||||
enable = true;
|
||||
terminal = "${pkgs.alacritty}/bin/alacritty";
|
||||
theme = ./theme.yml;
|
||||
};
|
||||
}
|
7
system/desktop/xmonad/xmonad.hs
Normal file
7
system/desktop/xmonad/xmonad.hs
Normal file
|
@ -0,0 +1,7 @@
|
|||
import XMonad
|
||||
import XMonad.Config.Xfce
|
||||
main = xmonad xfceConfig
|
||||
{ terminal = "alacritty"
|
||||
, modMask = mod1Mask -- optional: use Win key instead of Alt as MODi key
|
||||
, startupHook = ewmhDesktopsStartup >> setWMName "LG3D" -- for some reason the double greater sign is escaped here due to wiki formatting, replace this with proper greater signs!
|
||||
}
|
72
system/desktop/xmonad/xmonad.nix
Normal file
72
system/desktop/xmonad/xmonad.nix
Normal file
|
@ -0,0 +1,72 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
/*
|
||||
import = [
|
||||
../../dm.nix
|
||||
];
|
||||
*/
|
||||
services = {
|
||||
gnome.gnome-keyring.enable = true;
|
||||
upower.enable = true;
|
||||
|
||||
dbus = {
|
||||
enable = true;
|
||||
packages = [ pkgs.dconf ];
|
||||
};
|
||||
|
||||
xserver = {
|
||||
#startDbusSession = true;
|
||||
|
||||
libinput = {
|
||||
enable = true;
|
||||
#disableWhileTyping = true;
|
||||
};
|
||||
|
||||
#displayManager.defaultSession = "none+xmonad";
|
||||
|
||||
windowManager.xmonad = {
|
||||
enable = true;
|
||||
enableContribAndExtras = true;
|
||||
extraPackages = haskellPackages: [
|
||||
haskellPackages.dbus
|
||||
haskellPackages.List
|
||||
haskellPackages.monad-logger
|
||||
haskellPackages.xmobar
|
||||
haskellPackages.xmonad-contrib
|
||||
haskellPackages.xmonad-extras
|
||||
];
|
||||
};
|
||||
|
||||
xkbOptions = "caps:ctrl_modifier";
|
||||
|
||||
serverLayoutSection = ''
|
||||
Option "StandbyTime" "0"
|
||||
Option "SuspendTime" "0"
|
||||
Option "OffTime" "0"
|
||||
'';
|
||||
|
||||
displayManager = {
|
||||
defaultSession = "none+xmonad";
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
#hardware.bluetooth.enable = true;
|
||||
services.blueman.enable = true;
|
||||
|
||||
systemd.services.upower.enable = true;
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
alacritty
|
||||
];
|
||||
/*
|
||||
env = {
|
||||
XMONAD_CONFIG_DIR_HOME = "$XDG_CONFIG_HOME/xmonad";
|
||||
XMONAD_CACHE_DIR = "$XDG_CONFIG_HOME/xmonad";
|
||||
XMONAD_DATA_DIR = "$XDG_CONFIG_HOME/xmonad";
|
||||
};
|
||||
*/
|
||||
|
||||
}
|
29
system/drivers/intapu.nix
Normal file
29
system/drivers/intapu.nix
Normal file
|
@ -0,0 +1,29 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
hardware = {
|
||||
opengl = {
|
||||
extraPackages = with pkgs; [
|
||||
intel-media-driver
|
||||
intel-ocl
|
||||
vaapiIntel
|
||||
vaapiVdpau
|
||||
libvdpau
|
||||
libvdpau-va-gl
|
||||
];
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
video = { hidpi.enable = true; };
|
||||
};
|
||||
|
||||
powerManagement = {
|
||||
enable = true;
|
||||
cpuFreqGovernor = "powersave";
|
||||
resumeCommands = ''
|
||||
modprobe -r psmouse
|
||||
modprobe psmouse
|
||||
'';
|
||||
};
|
||||
|
||||
}
|
34
system/drivers/nvidia.nix
Normal file
34
system/drivers/nvidia.nix
Normal file
|
@ -0,0 +1,34 @@
|
|||
{ config, lib, pkgs, ... }:
|
||||
{
|
||||
# GPU
|
||||
/*
|
||||
hardware.opengl = {
|
||||
enable = true;
|
||||
driSupport = true;
|
||||
driSupport32Bit = true;
|
||||
};
|
||||
*/
|
||||
services.xserver.videoDrivers = ["nvidia"];
|
||||
#pkgs.autoAddDriverRunpath
|
||||
hardware.nvidia = {
|
||||
modesetting.enable = true;
|
||||
# Enable power management (do not disable this unless you have a reason to).
|
||||
# Likely to cause problems on laptops and with screen tearing if disabled.
|
||||
powerManagement.enable = true;
|
||||
# Do not disable this unless your GPU is unsupported or if you have a good reason to.
|
||||
open = true;
|
||||
# Enable the Nvidia settings menu,
|
||||
# accessible via `nvidia-settings`.
|
||||
nvidiaSettings = true;
|
||||
|
||||
# Optionally, you may need to select the appropriate driver version for your specific GPU.
|
||||
package = config.boot.kernelPackages.nvidiaPackages.stable;
|
||||
};
|
||||
|
||||
environment.systemPackages = with pkgs; [
|
||||
#nvtop-nvidia
|
||||
nvtopPackages.nvidia
|
||||
];
|
||||
|
||||
|
||||
}
|
11
system/drivers/razer.nix
Normal file
11
system/drivers/razer.nix
Normal file
|
@ -0,0 +1,11 @@
|
|||
{ config, pkgs, lib, ...}:
|
||||
{
|
||||
hardware.openrazer.enable = true;
|
||||
hardware.openrazer.users = ["vieta"];
|
||||
/*
|
||||
environment.systemPackages = with pkgs; [
|
||||
razergenie
|
||||
];
|
||||
*/
|
||||
}
|
||||
|
27
system/drivers/sound.nix
Normal file
27
system/drivers/sound.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ config, pkgs, lib, ...}:
|
||||
{
|
||||
#sound.enable = true;
|
||||
|
||||
security.rtkit.enable = true;
|
||||
services.pipewire = {
|
||||
enable = true;
|
||||
alsa.enable = true;
|
||||
alsa.support32Bit = true;
|
||||
pulse.enable = true;
|
||||
};
|
||||
# To enable disable pipewire
|
||||
hardware.pulseaudio = {
|
||||
enable = false;
|
||||
extraConfig = "
|
||||
load-module module-switch-on-connect
|
||||
";
|
||||
support32Bit = true;
|
||||
};
|
||||
hardware.bluetooth.settings = {
|
||||
General = {
|
||||
Enable = "Source,Sink,Media,Socket";
|
||||
};
|
||||
};
|
||||
|
||||
}
|
||||
|
6
system/extras/guix.nix
Normal file
6
system/extras/guix.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ lib , config, pkgs, ... }:
|
||||
{
|
||||
|
||||
#services.guix.enable = true;
|
||||
|
||||
}
|
6
system/extras/stable.nix
Normal file
6
system/extras/stable.nix
Normal file
|
@ -0,0 +1,6 @@
|
|||
{ lib, conifg, pkgs, ... }:
|
||||
{
|
||||
environment.systemPackages = with pkgs; [
|
||||
xz
|
||||
];
|
||||
}
|
77
system/home-manager/apps.nix
Normal file
77
system/home-manager/apps.nix
Normal file
|
@ -0,0 +1,77 @@
|
|||
{ options, config, lib, pkgs, inputs, nixvim,... }:
|
||||
{
|
||||
home.packages = with pkgs; [
|
||||
#nixpkgs.overlays = [(self: super: { discord = super.discord.overrideAttrs (_: { src = builtins.fetchTarball https://discord.com/api/download?platform=linux&format=deb; });})];
|
||||
/*
|
||||
(pkgs.discord.override {
|
||||
withOpenASAR = true;
|
||||
withVencord = true;
|
||||
})
|
||||
*/
|
||||
# (pkgs.nerdfonts.override { fonts = [ "FantasqueSansMono" ]; })
|
||||
# (pkgs.writeShellScriptBin "my-hello" ''
|
||||
# echo "Hello, ${config.home.username}!"
|
||||
# '')
|
||||
#vimpc
|
||||
#vimiv-qt
|
||||
|
||||
];
|
||||
|
||||
programs.obs-studio = {
|
||||
enable = true;
|
||||
plugins = with pkgs.obs-studio-plugins; [
|
||||
wlrobs
|
||||
#obs-backgroundremoval
|
||||
#obs-pipewire-audio-capture
|
||||
#droidcam-obs
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
#home.file."./.config/nvim/" = {
|
||||
# source = ./homeFiles/nvim;
|
||||
# recursive = true;
|
||||
#};
|
||||
|
||||
#xdg.configFile.nvim.source = ./homeFiles/nvim;
|
||||
programs.nixvim = {
|
||||
enable = true;
|
||||
colorschemes.gruvbox.enable = false;
|
||||
plugins.lightline.enable = true;
|
||||
extraPlugins = with pkgs.vimPlugins; [
|
||||
#vim2nix
|
||||
vim-nix
|
||||
vim-lsp-ultisnips
|
||||
vim-lsp
|
||||
nerdtree
|
||||
#haskellPackages.nvim-hs
|
||||
];
|
||||
opts = {
|
||||
number = true; # Show line numbers
|
||||
#relativenumber = true; # Show relative line numbers
|
||||
shiftwidth = 2; # Tab width should be 2
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
programs.emacs = {
|
||||
enable = true;
|
||||
#package = pkgs.doom-emacs; # use programs.emacs.package instead if using home-manager
|
||||
};
|
||||
*/
|
||||
/*
|
||||
programs.vscode = {
|
||||
enable = true;
|
||||
package = pkgs.vscodium;
|
||||
extensions = with pkgs.vscode-extensions; [
|
||||
#dracula-theme.theme-dracula
|
||||
vscodevim.vim
|
||||
#ayzhang.markdown-all-in-one
|
||||
];
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
|
||||
}
|
12
system/home-manager/home-configuration.scm
Normal file
12
system/home-manager/home-configuration.scm
Normal file
|
@ -0,0 +1,12 @@
|
|||
(use-modules (gnu home)
|
||||
(gnu packages)
|
||||
(gnu services)
|
||||
(guix gexp)
|
||||
(gnu home services shells))
|
||||
|
||||
(home-environment
|
||||
;; Unterhalb ist die Liste der Pakete, die in Ihrem Persönlichen Profil
|
||||
;; in ~/.guix-home/profile verfügbar sein werden.
|
||||
(packages (specifications->packages (list "neofetch"
|
||||
"pfetch")))
|
||||
|
47
system/home-manager/home.nix
Normal file
47
system/home-manager/home.nix
Normal file
|
@ -0,0 +1,47 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports = [
|
||||
./apps.nix
|
||||
#../desktop/xmonad/xmonad-manager.nix
|
||||
#./theme.nix
|
||||
#./plasma-manager.nix
|
||||
#./hyperland-manager.nix
|
||||
];
|
||||
|
||||
home.username = "i3le";
|
||||
home.homeDirectory = "/home/i3le";
|
||||
home.stateVersion = "24.05";
|
||||
|
||||
programs = {
|
||||
|
||||
nixpkgs = {
|
||||
config = {
|
||||
allowUnfree = true;
|
||||
allowUnfreePredicate = (_: true);
|
||||
};
|
||||
};
|
||||
|
||||
#programs.helix.themes = [ "base16_transparent" ];
|
||||
|
||||
# Home Manager is pretty good at managing dotfiles. The primary way to manage
|
||||
# plain files is through 'home.file'.
|
||||
# home.file = {
|
||||
# ".screenrc".source = dotfiles/screenrc;
|
||||
# ".gradle/gradle.properties".text = ''
|
||||
# org.gradle.console=verbose
|
||||
# org.gradle.daemon.idletimeout=3600000
|
||||
# '';
|
||||
# HELIX
|
||||
# ".config/helix/config.toml".text = ''
|
||||
# theme ="base16_transparent"
|
||||
# '';
|
||||
# };
|
||||
home.sessionVariables = {
|
||||
# EDITOR = "emacs";
|
||||
};
|
||||
# Let Home Manager install and manage itself.
|
||||
programs.home-manager.enable = true;
|
||||
};
|
||||
|
||||
}
|
18
system/home-manager/theme.nix
Normal file
18
system/home-manager/theme.nix
Normal file
|
@ -0,0 +1,18 @@
|
|||
{ lib, config, pkgs, ... }:
|
||||
{
|
||||
programs = {
|
||||
# GTK
|
||||
gtk.enable = true;
|
||||
gtk.cursorTheme.package = pkgs.bibata-cursors;
|
||||
gtk.cursorTheme.namee = "Bibata-Modern-Ice;
|
||||
gtk.theme.package = pkgs.adw-gtk3;
|
||||
gtk.theme.namee = "GruvboxPlus";
|
||||
|
||||
|
||||
# QT
|
||||
qt.enable = true;
|
||||
qt.style.name = "adwaita-dark";
|
||||
qt.style.package = pkgs.adwaita-qt;
|
||||
}:
|
||||
|
||||
}
|
12
system/hosts/nixos/drives.nix
Normal file
12
system/hosts/nixos/drives.nix
Normal file
|
@ -0,0 +1,12 @@
|
|||
{ config, pkgs, lib, ... }:
|
||||
{
|
||||
|
||||
fileSystems."/mnt/Data1" = {
|
||||
device = "/dev/disk/by-uuid/ba0058fd-0055-4c96-a6f6-210f1f1fb6e3";
|
||||
fsType = "ext4";
|
||||
options = [ "nofail" "user" "rw" "exec"];
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
72
system/hosts/nixos/hardware-configuration.nix
Normal file
72
system/hosts/nixos/hardware-configuration.nix
Normal file
|
@ -0,0 +1,72 @@
|
|||
# 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.
|
||||
{ config, lib, pkgs, modulesPath, ... }:
|
||||
|
||||
{
|
||||
|
||||
boot.supportedFilesystems = [ "btrfs" ];
|
||||
|
||||
imports =
|
||||
[ (modulesPath + "/installer/scan/not-detected.nix")
|
||||
];
|
||||
|
||||
boot.initrd.availableKernelModules = [ "nvme" "xhci_pci" "ahci" "usbhid" "usb_storage" "sd_mod" ];
|
||||
boot.initrd.kernelModules = [ ];
|
||||
boot.kernelModules = [ "kvm-amd" ];
|
||||
boot.extraModulePackages = [ ];
|
||||
|
||||
fileSystems."/" =
|
||||
{ device = "/dev/disk/by-uuid/808ce7d4-256c-497e-8f78-83327350846c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=root" ];
|
||||
};
|
||||
|
||||
boot.initrd.luks.devices."enc".device = "/dev/disk/by-uuid/926f0f32-87be-4c95-b840-64b4255bd3db";
|
||||
|
||||
fileSystems."/home" =
|
||||
{ device = "/dev/disk/by-uuid/808ce7d4-256c-497e-8f78-83327350846c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=home" ];
|
||||
};
|
||||
|
||||
fileSystems."/nix" =
|
||||
{ device = "/dev/disk/by-uuid/808ce7d4-256c-497e-8f78-83327350846c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=nix" ];
|
||||
};
|
||||
|
||||
fileSystems."/persist" =
|
||||
{ device = "/dev/disk/by-uuid/808ce7d4-256c-497e-8f78-83327350846c";
|
||||
fsType = "btrfs";
|
||||
options = [ "subvol=persist" ];
|
||||
};
|
||||
|
||||
fileSystems."/var/log" =
|
||||
{ device = "/dev/disk/by-uuid/808ce7d4-256c-497e-8f78-83327350846c";
|
||||
fsType = "btrfs";
|
||||
# enable noatime and zstd to the other subvolumes aswell
|
||||
options = [ "subvol=log" "compress=zstd" "noatime" ];
|
||||
# to have a correct log order
|
||||
neededForBoot = true;
|
||||
};
|
||||
|
||||
fileSystems."/boot" =
|
||||
{ device = "/dev/disk/by-uuid/35B5-7D91";
|
||||
fsType = "vfat";
|
||||
options = [ "fmask=0022" "dmask=0022" ];
|
||||
};
|
||||
|
||||
swapDevices = [ ];
|
||||
|
||||
# Enables DHCP on each ethernet and wireless interface. In case of scripted networking
|
||||
# (the default) this is the recommended approach. When using systemd-networkd it's
|
||||
# still possible to use this option, but it's recommended to use it in conjunction
|
||||
# with explicit per-interface declarations with `networking.interfaces.<interface>.useDHCP`.
|
||||
networking.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.enp6s0.useDHCP = lib.mkDefault true;
|
||||
# networking.interfaces.wlp4s0.useDHCP = lib.mkDefault true;
|
||||
|
||||
nixpkgs.hostPlatform = lib.mkDefault "x86_64-linux";
|
||||
hardware.cpu.amd.updateMicrocode = lib.mkDefault config.hardware.enableRedistributableFirmware;
|
||||
}
|
142
system/hosts/nixos/nixos.nix
Normal file
142
system/hosts/nixos/nixos.nix
Normal file
|
@ -0,0 +1,142 @@
|
|||
# Edit this configuration file to define what should be installed on
|
||||
# your system. Help is available in the configuration.nix(5) man page, on
|
||||
# https://search.nixos.org/options and in the NixOS manual (`nixos-help`).
|
||||
|
||||
{ config, lib, pkgs, ... }:
|
||||
|
||||
{
|
||||
imports =
|
||||
[ # Include the results of the hardware scan.
|
||||
./hardware-configuration.nix
|
||||
./drives.nix
|
||||
../../drivers/nvidia.nix
|
||||
../../drivers/razer.nix
|
||||
../../drivers/sound.nix
|
||||
../../desktop/plasma.nix
|
||||
];
|
||||
|
||||
# Use the systemd-boot EFI boot loader.
|
||||
boot.loader.systemd-boot.enable = true;
|
||||
boot.loader.efi.canTouchEfiVariables = true;
|
||||
nixpkgs.config.allowUnfree = true;
|
||||
|
||||
boot = {
|
||||
kernelPackages = pkgs.linuxPackages_cachyos;
|
||||
#kernelPackages = pkgs.linuxPackages_zen;
|
||||
#kernelPackages = pkgs.linuxPackages;
|
||||
|
||||
extraModulePackages = with config.boot.kernelPackages; [
|
||||
v4l2loopback # akvcam
|
||||
];
|
||||
};
|
||||
chaotic.scx.enable = true;
|
||||
chaotic.scx.scheduler = "scx_layered";
|
||||
|
||||
boot.supportedFilesystems = [
|
||||
"btrfs"
|
||||
"ntfs"
|
||||
# "bcachefs"
|
||||
];
|
||||
|
||||
services.wg-netmanager.enable = true;
|
||||
networking.wireguard.enable = true;
|
||||
networking.hostName = "nixos"; # Define your hostname.
|
||||
# Pick only one of the below networking options.
|
||||
# networking.wireless.enable = true; # Enables wireless support via wpa_supplicant.
|
||||
# networking.networkmanager.enable = true; # Easiest to use and most distros use this by default.
|
||||
|
||||
# Set your time zone.
|
||||
# time.timeZone = "Europe/Amsterdam";
|
||||
|
||||
# Configure network proxy if necessary
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
|
||||
# Select internationalisation properties.
|
||||
# i18n.defaultLocale = "en_US.UTF-8";
|
||||
# console = {
|
||||
# font = "Lat2-Terminus16";
|
||||
# keyMap = "us";
|
||||
# useXkbConfig = true; # use xkb.options in tty.
|
||||
# };
|
||||
|
||||
# Enable the X11 windowing system.
|
||||
# services.xserver.enable = true;
|
||||
|
||||
|
||||
|
||||
|
||||
# Configure keymap in X11
|
||||
# services.xserver.xkb.layout = "us";
|
||||
# services.xserver.xkb.options = "eurosign:e,caps:escape";
|
||||
|
||||
# Enable CUPS to print documents.
|
||||
# services.printing.enable = true;
|
||||
|
||||
# Enable sound.
|
||||
# hardware.pulseaudio.enable = true;
|
||||
# OR
|
||||
# services.pipewire = {
|
||||
# enable = true;
|
||||
# pulse.enable = true;
|
||||
# };
|
||||
|
||||
# Enable touchpad support (enabled default in most desktopManager).
|
||||
# services.libinput.enable = true;
|
||||
|
||||
# Define a user account. Don't forget to set a password with ‘passwd’.
|
||||
|
||||
# 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;
|
||||
hardware.opentabletdriver.enable = true;
|
||||
hardware.opentabletdriver.daemon.enable = true;
|
||||
zramSwap.enable = true;
|
||||
# Open ports in the firewall.
|
||||
# networking.firewall.allowedTCPPorts = [ ... ];
|
||||
# networking.firewall.allowedUDPPorts = [ ... ];
|
||||
# Or disable the firewall altogether.
|
||||
# networking.firewall.enable = false;
|
||||
|
||||
# Copy the NixOS configuration file and link it from the resulting system
|
||||
# (/run/current-system/configuration.nix). This is useful in case you
|
||||
# accidentally delete configuration.nix.
|
||||
# system.copySystemConfiguration = true;
|
||||
|
||||
# This option defines the first version of NixOS you have installed on this particular machine,
|
||||
# and is used to maintain compatibility with application data (e.g. databases) created on older NixOS versions.
|
||||
#
|
||||
# Most users should NEVER change this value after the initial install, for any reason,
|
||||
# even if you've upgraded your system to a new NixOS release.
|
||||
#
|
||||
# This value does NOT affect the Nixpkgs version your packages and OS are pulled from,
|
||||
# so changing it will NOT upgrade your system - see https://nixos.org/manual/nixos/stable/#sec-upgrading for how
|
||||
# to actually do that.
|
||||
#
|
||||
# This value being lower than the current NixOS release does NOT mean your system is
|
||||
# out of date, out of support, or vulnerable.
|
||||
#
|
||||
# Do NOT change this value unless you have manually inspected all the changes it would make to your configuration,
|
||||
# and migrated your data accordingly.
|
||||
#
|
||||
# For more information, see `man configuration.nix` or https://nixos.org/manual/nixos/stable/options#opt-system.stateVersion .
|
||||
system.stateVersion = "24.05"; # Did you read the comment?
|
||||
|
||||
}
|
||||
|
25
system/lang.nix
Normal file
25
system/lang.nix
Normal file
|
@ -0,0 +1,25 @@
|
|||
{ inputs, config, pkgs, ... }:
|
||||
{
|
||||
|
||||
time.timeZone = "Europe/Berlin";
|
||||
|
||||
# networking.proxy.default = "http://user:password@proxy:port/";
|
||||
# networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
|
||||
programs.dconf.enable = true;
|
||||
|
||||
i18n.defaultLocale = "de_DE.UTF-8";
|
||||
i18n.extraLocaleSettings = {
|
||||
LC_ADDRESS = "de_DE.UTF-8";
|
||||
LC_IDENTIFICATION = "de_DE.UTF-8";
|
||||
LC_MEASUREMENT = "de_DE.UTF-8";
|
||||
LC_MONETARY = "de_DE.UTF-8";
|
||||
LC_NAME = "de_DE.UTF-8";
|
||||
LC_NUMERIC = "de_DE.UTF-8";
|
||||
LC_PAPER = "de_DE.UTF-8";
|
||||
LC_TELEPHONE = "de_DE.UTF-8";
|
||||
LC_TIME = "de_DE.UTF-8";
|
||||
};
|
||||
|
||||
console.keyMap = "de";
|
||||
|
||||
}
|
136
users/i3le.nix
Normal file
136
users/i3le.nix
Normal file
|
@ -0,0 +1,136 @@
|
|||
{ inputs, config, pkgs, ... }:
|
||||
{
|
||||
services.udev.packages = with pkgs; [
|
||||
android-udev-rules
|
||||
];
|
||||
services.hardware.openrgb.enable = true;
|
||||
programs.adb.enable = true;
|
||||
users.users.i3le = {
|
||||
isNormalUser = true;
|
||||
extraGroups = [
|
||||
"wheel" "networkManager" "libvirtd" "video"
|
||||
"user-with-access-to-virtualbox" "iwd"
|
||||
"adbusers"
|
||||
|
||||
];
|
||||
shell = pkgs.bash;
|
||||
packages = with pkgs; [
|
||||
signal-desktop
|
||||
git
|
||||
#cura
|
||||
qcad
|
||||
sshuttle
|
||||
nextcloud-client
|
||||
openrgb-with-all-plugins
|
||||
bashInteractive
|
||||
wl-clipboard
|
||||
xclip
|
||||
micro
|
||||
neovim
|
||||
firefox
|
||||
tree
|
||||
dino
|
||||
#jtsi-meet
|
||||
#ungoogled-chromium
|
||||
#jami
|
||||
#jitsi
|
||||
tor-browser
|
||||
#freetube
|
||||
qpwgraph
|
||||
#kate
|
||||
#revolt-desktop
|
||||
#librewolf
|
||||
# Office
|
||||
hexdino
|
||||
#logseq
|
||||
libreoffice-qt
|
||||
okteta
|
||||
okular
|
||||
xournalpp
|
||||
#libreoffice
|
||||
# IDE
|
||||
#ciscoPacketTracer8
|
||||
#texstudio
|
||||
#jetbrains.idea-ultimate
|
||||
# studio
|
||||
#obs-studio
|
||||
somafm-cli
|
||||
razergenie
|
||||
kdenlive
|
||||
audacity
|
||||
blender
|
||||
mpv
|
||||
# Extras
|
||||
keepassxc
|
||||
#helix
|
||||
distrobox
|
||||
podman-desktop
|
||||
podman-compose
|
||||
# Design
|
||||
inkscape
|
||||
krita
|
||||
gimp
|
||||
#cobang
|
||||
prusa-slicer
|
||||
#blender
|
||||
openscad
|
||||
#freecad
|
||||
# imager
|
||||
rpi-imager
|
||||
# network
|
||||
wireshark
|
||||
nmap
|
||||
#zmap
|
||||
magic-wormhole-rs
|
||||
#gns3-gui
|
||||
# shellenv
|
||||
#fh
|
||||
# compress
|
||||
unzip
|
||||
p7zip
|
||||
unrar
|
||||
# memes
|
||||
fastfetch
|
||||
#nyancat
|
||||
#oneke
|
||||
# devel
|
||||
adbfs-rootless
|
||||
android-tools
|
||||
# simulation
|
||||
qucs-s
|
||||
# shelli
|
||||
shellify
|
||||
shellspec
|
||||
procs
|
||||
delta
|
||||
tokei
|
||||
bat
|
||||
file
|
||||
ffmpeg#-headless
|
||||
yt-dlp
|
||||
fzf
|
||||
git
|
||||
fh
|
||||
pandoc
|
||||
imagemagick
|
||||
typst
|
||||
|
||||
# games
|
||||
#xivlauncher
|
||||
#sauerbraten
|
||||
xbill
|
||||
];
|
||||
};
|
||||
|
||||
|
||||
/*
|
||||
services.emacs = {
|
||||
enable = true;
|
||||
package = inputs.doom-emacs.packages..doom-emacs.override {
|
||||
doomPrivateDir = ./dots/doom.d;
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
|
||||
}
|
Loading…
Reference in a new issue