Compare commits

..

No commits in common. "9beadc7dd13750b2aa0c1bc93bed5c17110df63a" and "062ff799eba6df9b3007187df47e1b7291149d94" have entirely different histories.

7 changed files with 119 additions and 162 deletions

207
flake.lock generated
View file

@ -10,11 +10,11 @@
"systems": "systems" "systems": "systems"
}, },
"locked": { "locked": {
"lastModified": 1747514353, "lastModified": 1736955230,
"narHash": "sha256-E1WjB+zvDw4x058mg3MIdK5j2huvnNpTEEt2brhg2H8=", "narHash": "sha256-uenf8fv2eG5bKM8C/UvFaiJMZ4IpUFaQxk9OH5t/1gA=",
"owner": "ryantm", "owner": "ryantm",
"repo": "agenix", "repo": "agenix",
"rev": "6697e8babbd8f323dfd5e28f160a0128582c128b", "rev": "e600439ec4c273cf11e06fe4d9d906fb98fa097c",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -26,11 +26,11 @@
"arkenfox-userjs": { "arkenfox-userjs": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1745247844, "lastModified": 1741229528,
"narHash": "sha256-YfgmhyqLH067pjqRSeCpfqFkeaac1nBvsKcrRNkKw7o=", "narHash": "sha256-21DoV4SMueMFRHMsvfsPfQIOtsvRWNY06rE4gB7xFnc=",
"owner": "arkenfox", "owner": "arkenfox",
"repo": "user.js", "repo": "user.js",
"rev": "7f852e94fc80fd0aa19f1c948319974e3301187f", "rev": "3d76c74c80485931425464fec0e59d6cb461677a",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -39,6 +39,29 @@
"type": "github" "type": "github"
} }
}, },
"csharp-language-server": {
"inputs": {
"flake-utils": [
"flake-utils"
],
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1743061507,
"narHash": "sha256-M605lQQ035J61tZ48tye8JUCN4MZKXhcTP3SqXqtr4g=",
"owner": "SofusA",
"repo": "csharp-language-server",
"rev": "a119d6002874d9335dbff0a9445f652762eb6685",
"type": "github"
},
"original": {
"owner": "SofusA",
"repo": "csharp-language-server",
"type": "github"
}
},
"darwin": { "darwin": {
"inputs": { "inputs": {
"nixpkgs": [ "nixpkgs": [
@ -47,11 +70,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1744478979, "lastModified": 1700795494,
"narHash": "sha256-dyN+teG9G82G+m+PX/aSAagkC+vUv0SgUw3XkPhQodQ=", "narHash": "sha256-gzGLZSiOhf155FW7262kdHo2YDeugp3VuIFb4/GGng0=",
"owner": "lnl7", "owner": "lnl7",
"repo": "nix-darwin", "repo": "nix-darwin",
"rev": "43975d782b418ebf4969e9ccba82466728c2851b", "rev": "4b9b83d5a92e8c1fbfd8eb27eda375908c11ec4d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -102,17 +125,18 @@
}, },
"firefox-addons": { "firefox-addons": {
"inputs": { "inputs": {
"flake-utils": "flake-utils",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"dir": "pkgs/firefox-addons", "dir": "pkgs/firefox-addons",
"lastModified": 1747541019, "lastModified": 1742773104,
"narHash": "sha256-j3GieFJQqdtDLQmGMVhtiPy/3gP3PjlPybKywN4hOOQ=", "narHash": "sha256-dAhrL+gEjNN5U/Sosy7IrX0Y0qPA0U7Gp9TBhqEliNU=",
"owner": "rycee", "owner": "rycee",
"repo": "nur-expressions", "repo": "nur-expressions",
"rev": "830ffcdb44051917600abb79007e8593e9effc53", "rev": "d74460da63a8c08a69a1f143b04f2ab1a6b2f5c2",
"type": "gitlab" "type": "gitlab"
}, },
"original": { "original": {
@ -155,37 +179,22 @@
} }
}, },
"flake-compat_3": { "flake-compat_3": {
"flake": false,
"locked": { "locked": {
"lastModified": 1747046372, "lastModified": 1717312683,
"narHash": "sha256-CIVLLkVgvHYbgI2UpXvIIBJ12HWgX+fjA8Xf8PUmqCY=", "narHash": "sha256-FrlieJH50AuvagamEvWMIE6D2OAnERuDboFDYAED/dE=",
"owner": "edolstra", "owner": "nix-community",
"repo": "flake-compat", "repo": "flake-compat",
"rev": "9100a0f413b0c601e0533d1d94ffd501ce2e7885", "rev": "38fd3954cf65ce6faf3d0d45cd26059e059f07ea",
"type": "github" "type": "github"
}, },
"original": { "original": {
"owner": "edolstra", "owner": "nix-community",
"repo": "flake-compat", "repo": "flake-compat",
"type": "github" "type": "github"
} }
}, },
"flake-compat_4": { "flake-compat_4": {
"flake": false,
"locked": {
"lastModified": 1746162366,
"narHash": "sha256-5SSSZ/oQkwfcAz/o/6TlejlVGqeK08wyREBQ5qFFPhM=",
"owner": "nix-community",
"repo": "flake-compat",
"rev": "0f158086a2ecdbb138cd0429410e44994f1b7e4b",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "flake-compat",
"type": "github"
}
},
"flake-compat_5": {
"flake": false, "flake": false,
"locked": { "locked": {
"lastModified": 1696426674, "lastModified": 1696426674,
@ -208,11 +217,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1743550720, "lastModified": 1741352980,
"narHash": "sha256-hIshGgKZCgWh6AYJpJmRgFdR3WUbkY04o82X05xqQiY=", "narHash": "sha256-+u2UunDA4Cl5Fci3m7S643HzKmIDAe+fiXrLqYsR2fs=",
"owner": "hercules-ci", "owner": "hercules-ci",
"repo": "flake-parts", "repo": "flake-parts",
"rev": "c621e8422220273271f52058f618c94e405bb0f5", "rev": "f4330d22f1c5d2ba72d3d22df5597d123fdb60a9",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -243,6 +252,21 @@
} }
}, },
"flake-utils": { "flake-utils": {
"locked": {
"lastModified": 1629284811,
"narHash": "sha256-JHgasjPR0/J1J3DRm4KxM4zTyAj4IOJY8vIl75v/kPI=",
"owner": "numtide",
"repo": "flake-utils",
"rev": "c5d161cc0af116a2e17f54316f0bf43f0819785c",
"type": "github"
},
"original": {
"owner": "numtide",
"repo": "flake-utils",
"type": "github"
}
},
"flake-utils_2": {
"inputs": { "inputs": {
"systems": "systems_2" "systems": "systems_2"
}, },
@ -289,11 +313,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1745494811, "lastModified": 1703113217,
"narHash": "sha256-YZCh2o9Ua1n9uCvrvi5pRxtuVNml8X2a03qIFfRKpFs=", "narHash": "sha256-7ulcXOk63TIT2lVDSExj7XzFx09LpdSAPtvgtM7yQPE=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "abfad3d2958c9e6300a883bd443512c55dfeb1be", "rev": "3bfaacf46133c037bb356193bd2f1765d9dc82c1",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -309,11 +333,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747331121, "lastModified": 1742655702,
"narHash": "sha256-3MmiUN/jOHBHQUnjqzg6qKArc17j2OS6jisEppDY4g8=", "narHash": "sha256-jbqlw4sPArFtNtA1s3kLg7/A4fzP4GLk9bGbtUJg0JQ=",
"owner": "nix-community", "owner": "nix-community",
"repo": "home-manager", "repo": "home-manager",
"rev": "1eec32f0efe3b830927989767a9e6ece0d82d608", "rev": "0948aeedc296f964140d9429223c7e4a0702a1ff",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -346,49 +370,6 @@
"type": "gitlab" "type": "gitlab"
} }
}, },
"nix-alien": {
"inputs": {
"flake-compat": "flake-compat_3",
"nix-index-database": "nix-index-database",
"nixpkgs": [
"nixpkgs"
]
},
"locked": {
"lastModified": 1747293822,
"narHash": "sha256-1R3Ro+RQCUUnIFZDObP9/2QBLk3xvgbXU67Qii+YZ8s=",
"owner": "thiagokokada",
"repo": "nix-alien",
"rev": "ea7eb3a76520fa8d92879afb819756ffc0bc629e",
"type": "github"
},
"original": {
"owner": "thiagokokada",
"repo": "nix-alien",
"type": "github"
}
},
"nix-index-database": {
"inputs": {
"nixpkgs": [
"nix-alien",
"nixpkgs"
]
},
"locked": {
"lastModified": 1746934494,
"narHash": "sha256-3n6i+F0sDASjkhbvgFDpPDZGp7z19IrRtjfF9TwJpCA=",
"owner": "nix-community",
"repo": "nix-index-database",
"rev": "e9b21b01e4307176b9718a29ac514838e7f6f4ff",
"type": "github"
},
"original": {
"owner": "nix-community",
"repo": "nix-index-database",
"type": "github"
}
},
"nixlib": { "nixlib": {
"locked": { "locked": {
"lastModified": 1643502816, "lastModified": 1643502816,
@ -406,7 +387,7 @@
}, },
"nixos-cosmic": { "nixos-cosmic": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_4", "flake-compat": "flake-compat_3",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
], ],
@ -414,11 +395,11 @@
"rust-overlay": "rust-overlay" "rust-overlay": "rust-overlay"
}, },
"locked": { "locked": {
"lastModified": 1747566515, "lastModified": 1742863891,
"narHash": "sha256-mBT3EypUn1HZ5iRGDmZQPtVNYxQxnkIsasggSCndYjw=", "narHash": "sha256-/mGCIxO7zlWCHOZLaOMRoJgSLpIav0PBKWG3BQddElw=",
"owner": "lilyinstarlight", "owner": "lilyinstarlight",
"repo": "nixos-cosmic", "repo": "nixos-cosmic",
"rev": "93f3add95306179d15f8a6b1cfc87bfdc1702a33", "rev": "366999efebcad2165f472ef93e9c996693bda75d",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -429,11 +410,11 @@
}, },
"nixos-hardware": { "nixos-hardware": {
"locked": { "locked": {
"lastModified": 1747129300, "lastModified": 1742806253,
"narHash": "sha256-L3clA5YGeYCF47ghsI7Tcex+DnaaN/BbQ4dR2wzoiKg=", "narHash": "sha256-zvQ4GsCJT6MTOzPKLmlFyM+lxo0JGQ0cSFaZSACmWfY=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixos-hardware", "repo": "nixos-hardware",
"rev": "e81fd167b33121269149c57806599045fd33eeed", "rev": "ecaa2d911e77c265c2a5bac8b583c40b0f151726",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -444,11 +425,11 @@
}, },
"nixpkgs": { "nixpkgs": {
"locked": { "locked": {
"lastModified": 1747335874, "lastModified": 1742751704,
"narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=", "narHash": "sha256-rBfc+H1dDBUQ2mgVITMGBPI1PGuCznf9rcWX/XIULyE=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858", "rev": "f0946fa5f1fb876a9dc2e1850d9d3a4e3f914092",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -460,11 +441,11 @@
}, },
"nixpkgs-stable": { "nixpkgs-stable": {
"locked": { "locked": {
"lastModified": 1747335874, "lastModified": 1742512142,
"narHash": "sha256-IKKIXTSYJMmUtE+Kav5Rob8SgLPnfnq4Qu8LyT4gdqQ=", "narHash": "sha256-8XfURTDxOm6+33swQJu/hx6xw1Tznl8vJJN5HwVqckg=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "ba8b70ee098bc5654c459d6a95dfc498b91ff858", "rev": "7105ae3957700a9646cc4b766f5815b23ed0c682",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -476,11 +457,11 @@
}, },
"nixpkgs-unstable": { "nixpkgs-unstable": {
"locked": { "locked": {
"lastModified": 1747327360, "lastModified": 1742669843,
"narHash": "sha256-LSmTbiq/nqZR9B2t4MRnWG7cb0KVNU70dB7RT4+wYK4=", "narHash": "sha256-G5n+FOXLXcRx+3hCJ6Rt6ZQyF1zqQ0DL0sWAMn2Nk0w=",
"owner": "NixOS", "owner": "NixOS",
"repo": "nixpkgs", "repo": "nixpkgs",
"rev": "e06158e58f3adee28b139e9c2bcfcc41f8625b46", "rev": "1e5b653dff12029333a6546c11e108ede13052eb",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -515,11 +496,11 @@
"systems": "systems_3" "systems": "systems_3"
}, },
"locked": { "locked": {
"lastModified": 1747556457, "lastModified": 1742893502,
"narHash": "sha256-L1iSnAQYsveQs1haZ9CcidvYKhYotchzgM9GqYie0Rg=", "narHash": "sha256-W8M7Kzat8ySVY+bBW0FF6jB4xjdb8sLm14OHVyyu0KQ=",
"owner": "astro", "owner": "astro",
"repo": "nix-openwrt-imagebuilder", "repo": "nix-openwrt-imagebuilder",
"rev": "568956f921869b6f36af3809fab4a914ed17082c", "rev": "89d3674159e5606b0c1db636e7c7463b7b976b45",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -530,18 +511,18 @@
}, },
"pre-commit-hooks": { "pre-commit-hooks": {
"inputs": { "inputs": {
"flake-compat": "flake-compat_5", "flake-compat": "flake-compat_4",
"gitignore": "gitignore", "gitignore": "gitignore",
"nixpkgs": [ "nixpkgs": [
"nixpkgs" "nixpkgs"
] ]
}, },
"locked": { "locked": {
"lastModified": 1747372754, "lastModified": 1742649964,
"narHash": "sha256-2Y53NGIX2vxfie1rOW0Qb86vjRZ7ngizoo+bnXU9D9k=", "narHash": "sha256-DwOTp7nvfi8mRfuL1escHDXabVXFGT1VlPD1JHrtrco=",
"owner": "cachix", "owner": "cachix",
"repo": "pre-commit-hooks.nix", "repo": "pre-commit-hooks.nix",
"rev": "80479b6ec16fefd9c1db3ea13aeb038c60530f46", "rev": "dcf5072734cb576d2b0c59b2ac44f5050b5eac82",
"type": "github" "type": "github"
}, },
"original": { "original": {
@ -554,13 +535,13 @@
"inputs": { "inputs": {
"agenix": "agenix", "agenix": "agenix",
"arkenfox-userjs": "arkenfox-userjs", "arkenfox-userjs": "arkenfox-userjs",
"csharp-language-server": "csharp-language-server",
"deploy-rs": "deploy-rs", "deploy-rs": "deploy-rs",
"firefox-addons": "firefox-addons", "firefox-addons": "firefox-addons",
"flake-parts": "flake-parts", "flake-parts": "flake-parts",
"flake-utils": "flake-utils", "flake-utils": "flake-utils_2",
"home-manager": "home-manager_2", "home-manager": "home-manager_2",
"matrix-appservices": "matrix-appservices", "matrix-appservices": "matrix-appservices",
"nix-alien": "nix-alien",
"nixos-cosmic": "nixos-cosmic", "nixos-cosmic": "nixos-cosmic",
"nixos-hardware": "nixos-hardware", "nixos-hardware": "nixos-hardware",
"nixpkgs": "nixpkgs", "nixpkgs": "nixpkgs",
@ -578,11 +559,11 @@
] ]
}, },
"locked": { "locked": {
"lastModified": 1747535902, "lastModified": 1742437918,
"narHash": "sha256-rKWBtLcqQeu8PpfKIBn1ORXS2udSH/MwnQFwfSpFOLg=", "narHash": "sha256-Vflb6KJVDikFcM9E231mRN88uk4+jo7BWtaaQMifthI=",
"owner": "oxalica", "owner": "oxalica",
"repo": "rust-overlay", "repo": "rust-overlay",
"rev": "b7a99615d26b82c39b73ccc9026545c3f3403b71", "rev": "f03085549609e49c7bcbbee86a1949057d087199",
"type": "github" "type": "github"
}, },
"original": { "original": {

View file

@ -28,11 +28,6 @@ rec {
flake-utils.url = "github:numtide/flake-utils"; flake-utils.url = "github:numtide/flake-utils";
nix-alien = {
url = "github:thiagokokada/nix-alien";
inputs.nixpkgs.follows = "nixpkgs";
};
home-manager = { home-manager = {
url = "github:nix-community/home-manager/release-24.11"; url = "github:nix-community/home-manager/release-24.11";
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
@ -84,6 +79,11 @@ rec {
inputs.nixpkgs.follows = "nixpkgs"; inputs.nixpkgs.follows = "nixpkgs";
}; };
csharp-language-server = {
url = "github:SofusA/csharp-language-server";
# inputs.nixpkgs.follows = "nixpkgs";
inputs.flake-utils.follows = "flake-utils";
};
}; };
outputs = outputs =

View file

@ -22,12 +22,16 @@ in
enable = true; enable = true;
package = pkgs.unstable.helix; package = pkgs.unstable.helix;
languages.language = [ languages.language = [
{
name = "c-sharp";
language-servers = [ "roslyn" ];
auto-format = true;
}
{ {
name = "javascript"; name = "javascript";
language-servers = typescriptLanguageServers; language-servers = typescriptLanguageServers;
# TODO also configure eslint for diagnostics # TODO also configure eslint for diagnostics
# formatter.command = ["eslint_d"]; # formatter.command = "eslint_d --fix";
# formatter.args = ["--fix"];
formatter = prettier "typescript"; formatter = prettier "typescript";
auto-format = true; auto-format = true;
} }
@ -55,7 +59,7 @@ in
} }
{ {
name = "nix"; name = "nix";
# HINT `nix fmt` is a bit slow # `nix fmt` does not support stdin
formatter.command = "nixfmt"; formatter.command = "nixfmt";
language-servers = [ language-servers = [
"nixd" "nixd"
@ -70,32 +74,12 @@ in
} }
{ {
name = "protobuf"; name = "protobuf";
formatter.command = "buf"; formatter.command = "buf format -w";
formatter.args = [
"format"
"-w"
];
language-servers = [ language-servers = [
"bufls" "bufls"
"buf-lint" "buf-lint"
]; ];
} }
{
name = "hcl";
language-id = "opentofu";
language-servers = [ "opentofu-ls" ];
injection-regex = "(hcl|tf|tofu)";
file-types = [
"hcl"
"tf"
"tofu"
];
}
{
name = "tfvars";
language-id = "opentofu-vars";
language-servers = [ "opentofu-ls" ];
}
{ {
name = "graphql"; name = "graphql";
formatter = prettier "graphql"; formatter = prettier "graphql";
@ -156,6 +140,7 @@ in
}; };
}; };
}; };
roslyn.command = "csharp-language-server";
statix = { statix = {
command = "efm-langserver"; command = "efm-langserver";
config = { config = {
@ -227,13 +212,6 @@ in
}; };
}; };
}; };
opentofu-ls = {
command = "opentofu-ls";
args = [ "serve" ];
config = {
opentofu.path = "tofu";
};
};
}; };
settings = { settings = {
theme = "dark_plus"; theme = "dark_plus";

View file

@ -4,11 +4,21 @@
home.packages = with pkgs; [ home.packages = with pkgs; [
# language servers # language servers
efm-langserver efm-langserver
unstable.roslyn-ls
(pkgs.symlinkJoin {
name = "csharp-language-server";
paths = [ inputs.csharp-language-server.packages.${system}.csharp-language-server ];
buildInputs = [ pkgs.makeWrapper ];
postBuild = ''
wrapProgram $out/bin/csharp-language-server \
--prefix PATH : "${pkgs.lib.makeBinPath [ pkgs.dotnet-sdk_9 ]}"
'';
})
omnisharp-roslyn
nil nil
unstable.nixd unstable.nixd
nls nls
terraform-ls terraform-ls
unstable.opentofu-ls
pyright pyright
nodePackages.bash-language-server nodePackages.bash-language-server
nodePackages.vim-language-server nodePackages.vim-language-server
@ -21,7 +31,6 @@
haskellPackages.haskell-language-server haskellPackages.haskell-language-server
rust-analyzer rust-analyzer
sumneko-lua-language-server sumneko-lua-language-server
marksman
# linters & formatters # linters & formatters
topiary topiary

View file

@ -7,7 +7,6 @@
programs.zellij.settings = { programs.zellij.settings = {
default_layout = "compact"; # or default default_layout = "compact"; # or default
default_mode = "normal"; default_mode = "normal";
show_startup_tips = false;
ui.pane_frames = { ui.pane_frames = {
hide_session_name = true; hide_session_name = true;
}; };

View file

@ -5,7 +5,6 @@
./zram.nix ./zram.nix
./i18n.nix ./i18n.nix
./nix.nix ./nix.nix
./nix-ld.nix
./networking.nix ./networking.nix
./hardened.nix ./hardened.nix
]; ];

View file

@ -1,9 +0,0 @@
{ inputs, system, ... }:
{
environment.systemPackages = [
inputs.nix-alien.packages.${system}.nix-alien
];
programs.nix-ld.enable = true;
}